Error en codigo c++ ISO c++ forbids comparision between pointer and integer

Iniciado por qwertyui, 22 Mayo 2016, 04:22 AM

0 Miembros y 1 Visitante están viendo este tema.

qwertyui

Código (cpp) [Seleccionar]
#include <iostream>
#include <string>
#include <cstdlib>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <windows.h>
#include <fstream>
#define USER "admin"
#define PASS "pavisb6"
#define ENTER 13
#define BACKSPACE 8
FILE *archivo;

using namespace std;

int main(void)
{
   system("color 0B");
  string usuario, password;
  int contador = 0;
  bool ingresa = false;

           do {
           system("cls");
           cout << "\t\t\tCyber Card" << endl;
           cout << "\n\tUsuario: ";
           getline(cin, usuario);

           cout << "\tPassword: ";

           char caracter;
           caracter = getch();

           password = "";

           while (caracter != ENTER) {

            if (caracter != BACKSPACE) {
        password.push_back(caracter);
        cout << "*";

} else {
           if (password.length() > 0) {
           cout << "\b \b";
           password = password.substr(0, password.length() - 1);
           }
}

caracter = getch();
           }


           if (usuario == USER && password == PASS) {
           ingresa = true;
           } else {
           cout << "\n\n\tEl usuario y/o clave de acceso son incorrectos" << endl;
           cin.get();
           contador++;
           }
           } while (ingresa == false && contador < 3);

           if (ingresa == false) {
           cout << "\n\tUsted no pudo ingresar al sistema. ADIOS" << endl;
           return 0;
           }
           else
           {
           cout << "\n\n\tBienvenido al sistema" << endl;
           system("PAUSE");
           }

           {

           system("cls");

           int opcion;
               }

   char decidir;
   int opcion;
   int opcion2;
   char regisc [20];
   char fechav [10];
   char tic [15];
   char pagop [10];
   char pregunta;
   char respuesta;
   bool regresar= false;
   char clientep [50];
   int opcion3;
   bool modificar=true;
   char codip [5];
   bool encontrado=true;
   do
   {
       Menu3:
       system("cls");
       cout << "Menu principal" << endl << "-----------------------" << endl;
       cout << "[1] Registrar pago con tarjeta y numero de tarjeta" << endl;
       cout << "[2] Modificar regristro de pago y  numero de tarjeta" << endl;
       cout << "[3] Consultar registro de pagos y tarjeta" << endl;
       cout << "[4] Eliminar pago con tarjeta" << endl;
       cout << "[5] imprimir recibos de confirmación de pago con tarjeta" << endl;
       cout << "[6] salir" << endl;
       cout << "-------------------------" << endl<< endl;
       cout << "Seleccione una opcion: ";
       cin >> opcion;

       switch(opcion)




       {
           case 1:
           {
           Menu1:
          system ("title Registro");
          system ("cls");
          cout << "registros" <<endl << "____________________________________" <<endl;
          cout << "[7] resgistrar pago y tarjeta" <<endl;
          cout << "[8] menu principal" << endl << "_____________________________" <<endl;
          cout << "Elige una opcion" <<endl;
          cin >> opcion2;
           }
              switch (opcion2)


       {
           case 7:
           Menu2:
           {
           system ("title saber card");
           system ("cls");
           archivo = fopen ("registro.dat","a");
           cout <<" escriba un codigo para el registro" <<endl;
           cin.getline (codip, 5) >> codip;
           fprintf(archivo, "%s\n", codip);
           cout << "escribe el  numero de la tarjeta:" <<endl;
           cin.getline (regisc, 25) >> regisc;
           fprintf(archivo, "%s\n", regisc);
           cout <<"escribe la fecha de pago:" <<endl;
           cin.getline (fechav, 10) >> fechav;
           fprintf(archivo, "%s\n", fechav);
           cout << "escribe el tipo de tarjeta:"<< endl;
           cin.getline (tic, 15) >> tic;
           fprintf(archivo, "%s\n", tic);
           cout<< "escribe el nombre del cliente" << endl;
           cin.getline (clientep, 50) >> clientep;
           fprintf (archivo, "%s\n", clientep);
           cout << "escribe el monto a pagar del ariculo:" <<endl;
           cin.getline (pagop, 25) >> pagop;
           fprintf(archivo, "%s\n", pagop);
           cout << "Desea agregar otro registro? (s/n)";
           cin >> pregunta;

           fclose(archivo);
           if (pregunta == 's' || pregunta == 'S'){ goto Menu2;}
           else{
           cout<< "Desea realizar otra operacion? (s/n)" <<endl;
           cin>> respuesta;
           if (respuesta == 's' || respuesta == 'S')
           {
            goto Menu1;
           }

           else{
           system ("cls");
           cout << "adios que vuelva pronto" <<endl;

           exit (0);
           }
           break;
           }
           case 8:
           {
           goto Menu3;
           }
           }
           }




           {
           case 2:
           {

           Menu4:
           system("title Modificar");
           system("cls");

           cout<<"Modificar"<<endl<<"------------------------"<<endl;
           cout<<"[9]Modificar regristro de pago y/o numero de tarjeta"<<endl;
           cout<<"[10]Menu principal" <<endl;
           cout<<"Elige una opcion"<<endl;
           cin>>opcion3;
           }

           {

           switch(opcion3)

           case 9:{ofstream aux;
           ifstream lectura;
            system("title modificar registro");
            system ("cls");
            encontrado=false;
            int auxcodip=0;
            char auxnombre [30];
            char auxnumtarjeta;
            aux.open("aux.dat",ios::out);
            lectura.open("registro.dat",ios::in);
            if(aux.is_open() && lectura.is_open()){
            cout<< "insgresa la clave del registro que desea modificar";
            cin>>auxcodip;
            lectura>>codip;
            while(!lectura.eof()){
            lectura>>regisc>>fechav>>tic>>clientep>>pagop;
   [u][b] if(auxcodip==codip){[/b][/u]
                   encontrado=true;
                   cout<<"____________________________"<<endl;
                   cout<<"codigo:"<<codip<<endl;
                   cout<<"num.tarjeta:"<<regisc<<endl;
                   cout<<"fecha:"<<fechav<<endl;
                   cout<<"tipo de tarjeta:"<<tic<<endl;
                   cout<<"nom. cliente:"<<clientep<<endl;
                   cout<<"pago:"<<pagop<<endl;
                   cout<<"____________________________"<<endl;
                   cout<<"ingresa el nuevo nombre del cliente con codigo"<<codip;
                   aux <<codip" "<<regisc<<" "<<fechav<<" "<< tic<<" "<< auxnombre <<" "<<pagop<<endl;

               }else{
                    aux <<codip" "<<regisc<<" "<<fechav<<" "<<tic<<" "<<clientep<<" "<<pagop<<endl;
               }
               lectura>>codip;
           }
           }else{
               cout<<"no se a podido abrir el archivo o aun no ha sido creado"<<endl;
               }
               if(encontrado==false)
               cout<<"no se encontro ningun registro con esa clave"<<auxcodip<<endl;

           }

           }
           }
           }
           }while (opcion=true);


}



Mod: Los códigos deben ir en etiquetas GeSHi

class_OpenGL

No me he fijado mucho en el código, así que no he buscado errores salvo el descrito.
El error está en la línea 221, en if(auxcodip==codip). Aquí estás comparando un entero (auxcodip) con un arreglo de caracteres (codip). Eso no lo puedes hacer.

La próxima vez, indica la línea en la que está el error

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL