Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Problema para terminar y compilar un proyecto

Estas en el tema de Problema para terminar y compilar un proyecto en el foro de C/C++ en Foros del Web. Cita: Iniciado por pyromiyuve Hola! He logrado ir avanzando con mi codigo, pero todavia tengo problemas, ya que no se como terminarlo... Se que lo ...
  #1 (permalink)  
Antiguo 21/12/2011, 23:41
 
Fecha de Ingreso: diciembre-2011
Mensajes: 21
Antigüedad: 12 años, 4 meses
Puntos: 0
Pregunta Problema para terminar y compilar un proyecto

Cita:
Iniciado por pyromiyuve Ver Mensaje
Hola! He logrado ir avanzando con mi codigo, pero todavia tengo problemas, ya que no se como terminarlo...

Se que lo mas probable es que no me logre explicar bien asi que anexo el enunciado de mi proyecto para las dudas en el link:

Código HTML:
Ver original
  1. http://ccg.ciens.ucv.ve/~esmitt/ayed/II-2011/proyecto2.pdf

y mi codigo del proyecto es:

Código c++:
Ver original
  1. #include<stdio.h>
  2. #include<stdio.h>
  3. #include<iostream>
  4. using namespace std;
  5.  
  6. int Capital=20;
  7.  
  8. int cantidadItems(char* c){ //Funcion que calcula cuantos repuestos disponemos
  9.     int i=0;int k=0;
  10.     do{
  11.         if(*(c+i)==' '){
  12.             k++;
  13.         }
  14.         i++;
  15.     }while(*(c+i)!=('\0'));
  16.    
  17.     return(k+1);
  18. };
  19.  
  20. int cant(char* c, int k){
  21.     do{
  22.         k++;
  23.     }while((*(c+k)!=('\0')) && (*(c+k)!=(' ')));
  24.    
  25.     return(k);
  26. };
  27.  
  28. //no se puede utilizar "set"
  29.  
  30. class Vehiculo{
  31.     string placa;
  32.     char puerta;
  33.     int averiado;
  34.     public:
  35.         Vehiculo(string placa, char puerta, int averiado){
  36.             this->placa = placa;//this es un puntero que se referencia a si mismo, es decir a mi clase!
  37.             this->puerta = puerta;
  38.             this->averiado = averiado;
  39.         }
  40.         string get_placa(){
  41.             return placa;
  42.         }
  43.         char get_puerta(){
  44.             return puerta;
  45.         }      
  46.         int get_averiado(){
  47.             return averiado;
  48.         }
  49. };
  50. class Cola{
  51.     class Nodo{
  52.         Vehiculo *v;
  53.         Nodo *siguiente;
  54.         public:
  55.             Nodo(Vehiculo *v){
  56.                 this->v = v;
  57.                 siguiente = NULL;
  58.             }
  59.             Vehiculo* get_v(){
  60.                 return v;
  61.             }
  62.             void set_siguiente(Nodo *n){
  63.                 siguiente = n;
  64.             }  
  65.             Nodo* get_siguiente(){
  66.                 return siguiente;
  67.             }
  68.     };
  69.    
  70.     Nodo *pri, *ult;
  71.     public:
  72.         Cola(){
  73.             pri = ult = NULL;
  74.         }
  75.         Vehiculo* primero(){
  76.             return pri->get_v();
  77.         }
  78.         void encolar(Vehiculo* v){
  79.             Nodo *nuevo = new Nodo(v);
  80.             if(ult==NULL){
  81.                 pri = ult = nuevo;
  82.             }else{
  83.                 ult->set_siguiente(nuevo);
  84.                 ult = nuevo;
  85.             }
  86.         }
  87.        
  88.         void desencolar(){
  89.             Nodo *aux = pri;
  90.             pri = pri->get_siguiente();
  91.             delete aux;
  92.             if(pri==NULL)
  93.                 ult = NULL;
  94.         }
  95.        
  96.         bool esVacia(){
  97.             return pri==NULL;
  98.         }
  99. };
  100.  
  101.  
  102. int i = 0;
  103. void mostrar(char puerta, Cola *c){
  104.     while(!c->esVacia()){
  105.         if(puerta=='A'){
  106.             cout << "Vehiculo " << ++i << ": " << c->primero()->get_placa() << endl;
  107.         }else if(puerta=='B'){
  108.             cout << "Vehiculo " << ++i << ": " << c->primero()->get_placa() << endl;
  109.         }c->desencolar();
  110.     }
  111. }
  112. void verificar(Lista *l, Cola *a, Cola *b){
  113.     if(!l->esVacia()){
  114.         Lista *aux = new Lista(); aux->p = l->primero();
  115.         while(aux->p!=NULL){
  116.             if(aux->acceder(aux->p)=='A'){
  117.                 mostrar(aux->acceder(aux->p),a);
  118.             }else if(aux->acceder(aux->p)=='B'){
  119.                 mostrar(aux->acceder(aux->p),b);
  120.             }aux->p = aux->siguiente(aux->p);
  121.         }delete aux;
  122.     }
  123.  
  124. };
  125.  
  126. //LISTA DE ORDEN
  127. class Lista{
  128.     class Nodo{
  129.         char orden;
  130.         Nodo *siguiente;
  131.         public:
  132.             Nodo(char orden){
  133.                 this->orden = orden;
  134.                 siguiente = NULL;
  135.             }
  136.            
  137.             char get_orden(){
  138.                 return orden;
  139.             }
  140.            
  141.             void set_siguiente(Nodo *n){
  142.                 siguiente = n;
  143.             }
  144.            
  145.             Nodo* get_siguiente(){
  146.                 return siguiente;
  147.             }
  148.     };
  149.    
  150.     Nodo *head;
  151.     int cantidad;
  152.     typedef Nodo* Posicion;
  153.     public:
  154.         Posicion p;
  155.        
  156.         Lista(){
  157.             head = NULL;
  158.             cantidad = 0;
  159.         }
  160.        
  161.         void insertar(Posicion p, char orden){
  162.             Nodo *nuevo = new Nodo(orden);
  163.             if(nuevo!=NULL){//COMPRUEBO QUE HAYA MEMORIA
  164.                 if(head==NULL){
  165.                     head = nuevo;
  166.                     cantidad++;
  167.                 }else{
  168.                     Nodo* r = head;
  169.                     while(r->get_siguiente()!=p){
  170.                         r = r->get_siguiente();
  171.                     }
  172.                    
  173.                     if(p==NULL){
  174.                         r->set_siguiente(nuevo);
  175.                     }else{
  176.                         nuevo->set_siguiente(r->get_siguiente());
  177.                         r->set_siguiente(nuevo);
  178.                     }
  179.                 }
  180.             }
  181.         }
  182.        
  183.         Posicion fin(){
  184.             Nodo *r = head;
  185.             while(r->get_siguiente()!=NULL){
  186.                 r = r->get_siguiente();
  187.             }return r;
  188.         }
  189.        
  190.         Posicion primero(){
  191.             if(head!=NULL){
  192.                 return head;
  193.             }else{
  194.                 return fin();
  195.             }
  196.         }
  197.        
  198.         Posicion siguiente(Posicion p){
  199.             return p->get_siguiente();
  200.         }
  201.        
  202.         char acceder(Posicion p){
  203.             return p->get_orden();
  204.         }
  205.        
  206.         bool esVacia(){
  207.             return head==NULL;
  208.         }
  209. };
  210.  
  211. class myString{
  212.     public:
  213.         Lista *primero;
  214.         Lista *ultimo;
  215.         Lista *aux;
  216.         int contador;
  217.        
  218.     public:
  219.         myString(){;
  220.             primero = NULL;
  221.             ultimo = NULL;
  222.             aux = NULL;
  223.             contador = 0;
  224. }
  225.  
  226.     void Insertar (char c);
  227.     void Mostrar ();
  228.    
  229. };
  230.  
  231.  void myString::Insertar(char aux){
  232.  
  233.     Lista* nuevo= new nodoLista();
  234.     nuevo->caracter=aux;
  235.     if(primero==NULL && ultimo==NULL){
  236.         primero=nuevo;
  237.         ultimo=nuevo;
  238.     }else{
  239.         ultimo->siguiente=nuevo;
  240.         ultimo=nuevo;
  241.         contador++; //revisar no estoy segura de si hace falta
  242.     }
  243. };
  244.  
  245. void myString::Mostrar(){
  246.     aux=primero;
  247.     do{
  248.     cout<<aux->caracter;
  249.     aux=aux->siguiente;
  250.     }while(aux!=NULL);
  251.    
  252. };
  253.  
  254. class Repuestos{ //Pila donde voy a guardar los Repuestos
  255.     public:
  256.         nodoCola *ultimo;
  257.         nodoCola *aux;
  258.         nodoCola *tope;
  259.         int contador;//cantidad de carros que entran
  260.         public:
  261.         Repuestos(){
  262.             tope=NULL;
  263.             contador=0;
  264.             ultimo=NULL;
  265.             aux=NULL;
  266.         }
  267.         void Insertar(char placa[], char puerta, char averiado, char* item, int contador);
  268.         void Mostrar();
  269.     void Usados(int i);
  270. };
  271.  
  272. void Repuestos :: Usados(char placa[], char puerta, char averiado ,char* item,int contador){// FALTA por resolver!!!!!!!!!!!!
  273.  
  274.     int Ing=Capital;
  275.     int egreso=0;
  276.     int ingreso=0;
  277.     int c;
  278.    
  279.    
  280.     if(ultimo->Averiado=='0'){ // se repara y factura a la vez
  281.        
  282.             egreso=((ultimo->contador)*1); //Contador indica la cantidad de repuestos a reparar en el carro que esta siendo atendido
  283.             ingreso=((ultimo->contador)*0);
  284.             Capital +=(ingreso-egreso); //Indica la ganancia obtenida por Liam tras la reparacion del carro atendido
  285.            
  286.         };
  287.          
  288.     aux=ultimo;
  289.     ultimo=aux->siguiente;//eliminacion del carro: se libera el nodo
  290.     cout<<"Vehiculo "<<i<<": ";
  291.    
  292.     for(k=0;k<9;k++)
  293.     {
  294.         cout<<aux->Placa[k];
  295.     }
  296.     cout<<"\n"<<-1*(egreso)<<"\n"<<ingreso<<endl;
  297.    
  298.     //apilamos FALTA POR REVISAR Y TERMINAR DE HACER!!!!
  299.  
  300.     nodoCola *aux
  301.     aux->siguiente=ultimo;
  302.     ultimo=aux;
  303. };
  304.  
  305. void Repuestos::Insertar(char placa[], char puerta, char averiado ,char* item,int contador){
  306.   nodoCola* nuevo=new nodoCola();
  307.    int k=0;
  308.    
  309.    for(k=0;k<9;k++){
  310.         nuevo->placa[k]=placa[k];
  311.     };
  312.    
  313.    nuevo->puerta = puerta;
  314.    nuevo->averiado = averiado;
  315.    nuevo->Item = item; 
  316.    nuevo->contador = contador;
  317.     //se empiezan ha armar los Repuestos
  318.     if(ultimo==NULL){
  319.         ultimo=nuevo;
  320.     }else{
  321.         nuevo->siguiente=ultimo;
  322.         ultimo=nuevo;
  323.     }; 
  324.    
  325.     contador++; //cantidad de carros
  326. };
  327.  
  328. void Repuestos::Mostrar(){ //Muestra la placa del ultimo carro en insertar repuestos
  329.     int k=0;
  330.     for(k=0;k<9;k++){
  331.         cout<<aux->placa[k];
  332.     }  
  333. };
  334.    
  335. void Repuestos::Reparar(int i){
  336.  
  337.     int Ing=Capital;
  338.     int egreso=0;
  339.     int ingreso=0;
  340.     int k;
  341.    
  342.    
  343.     if(ultimo->averiado=='1'){ // se repara y factura a la vez
  344.        
  345.             egreso=((ultimo->contador)*2);
  346.             ingreso=((ultimo->contador)*3);
  347.             Capital +=(ingreso-egreso);
  348.            
  349.        
  350.     }else if((Ing-ultimo->contador)>0){ //si averiado es igual a cero verificamos si tenemos capital para comprar
  351.             Capital-=ultimo->contador; //en caso de que el capital sea positivo, se pueda comprar.Se realiza una sustraccion al ingreso ingreso neto de Liam
  352.             egreso=ultimo->contador;
  353.         };
  354.          
  355.     aux=ultimo;
  356.     ultimo=aux->siguiente;//eliminacion logica
  357.     cout<<"Vehiculo "<<i<<": ";
  358.    
  359.     for(k=0;k<9;k++)
  360.     {
  361.         cout<<aux->placa[k];
  362.     }
  363.     cout<<"\n"<<-1*(egreso)<<"\n"<<ingreso<<endl;
  364.      
  365.      //desapilamos
  366.  
  367.     delete(aux);//eliminacion del carro atendido
  368. };
  369.  
  370. // MENU PRINCIPAL DEL PROGRAMA
  371. int main(){
  372.     int n,i,k;
  373.     char *c=NULL;//entrada
  374.     Vehiculo *v;
  375.     string placa = "";
  376.     char averiado, puerta, orden;
  377.     char aux;
  378.     char *items=NULL;
  379.     Repuestos A;
  380.     Repuestos B;
  381.     myString string;
  382.    
  383.     Cola *puertaA = new Cola(), *puertaB = new Cola();
  384.     Lista *lorden = new Lista();
  385.  
  386.     cin>>n; //cantidad de vehiculos a ingresar
  387.     cin.ignore();
  388.     for(i=0;i<n;i++)
  389.     {
  390.         fflush(stdin);
  391.         c=new char[15];
  392.         cin.getline(c,15);
  393.         k=0;
  394.         do{
  395.             placa[k]=*c;     //calcula la cantidad de atributos necesarios para la placa
  396.             k++; c++;        //placa
  397.         }while(*c!=' ');
  398.        
  399.         while(k<10){
  400.             placa[k]=' '; //si la placa posee menos de 10 elementos alfanumericos,se completan los espacios con "vacio"
  401.             k++;
  402.         }    
  403.            
  404.         puerta=(*(c+1)); //calcula el atributo: puerta
  405.         averiado=(*(c+3));  //calcula el atributo: averiado    
  406.    
  407.        
  408.         fflush(stdin);
  409.         items=new char[1002];
  410.         cin.getline(items,1002);
  411.         k=cantidadItems(items);
  412.    
  413.         cin >> placa >> puerta >> averiado;
  414.         v = new Vehiculo(placa,puerta,averiado);
  415.            
  416.         if(puerta=='A' || puerta=='a') //Insertamos teniendo en cuenta la puerta
  417.         {
  418.             puertaA->encolar(v);
  419.             A.Insertar(placa,puerta,averiado,items,k);
  420.            
  421.         }
  422.         else if(puerta=='B' || puerta=='b')
  423.         {
  424.             puertaB->encolar(v);
  425.             B.Insertar(placa,puerta,averiado,items,k);
  426.            
  427.         }
  428.     }  
  429.  
  430.  
  431.         for(int j = 0; j < n; ++j){
  432.         cin >> orden;
  433.         lorden->insertar(NULL,orden);
  434.     }
  435.    
  436.         verificar(lorden,puertaA,puertaB);
  437.         delete puertaA, puertaB, v, lorden;
  438.  
  439.  
  440.     for(i=0;i<n;i++){
  441.         cin>>aux;
  442.         string.Insertar(aux);
  443.     }
  444.     string.aux=string.primero;
  445.     for(i=0;i<n;i++){
  446.         if(string.aux->caracter=='A' || string.aux->caracter=='a'){
  447.             if(A.ultimo!=NULL){
  448.                 A.Reparar(i+1);
  449.                
  450.             }else{
  451.                 B.Reparar(i+1);
  452.                
  453.             }  
  454.         }else if(puerta=='B' || puerta=='b'){
  455.             if(B.ultimo!=NULL){
  456.                 B.Reparar(i+1);
  457.                
  458.             }else{
  459.                 A.Reparar(i+1);
  460.            
  461.                 }  
  462.         }
  463.         string.aux=string.aux->siguiente;
  464.     }
  465.     cout<<Capital<<endl;
  466. return 0;
  467. };
  468.  
  469. }

Podria alguien por favor ayudarme?

Muchas gracias

Última edición por pyromiyuve; 22/12/2011 a las 15:52 Razón: aclarar la duda y el codigo
  #2 (permalink)  
Antiguo 22/12/2011, 19:00
 
Fecha de Ingreso: diciembre-2011
Mensajes: 21
Antigüedad: 12 años, 4 meses
Puntos: 0
Pregunta Respuesta: Problema para terminar y compilar un proyecto

Bueno he logrado ir avanzando en mi proyecto pero ahora tengo una serie de errores con pase de argumentos y funciones al compilar, podria alguien ayudarme con el nuevo codigo, por favor?

Código C++:
Ver original
  1. #include<stdio.h>
  2. #include<iostream>
  3. using namespace std;
  4.  
  5. //Variables Globales
  6.  
  7. int Capital=20;
  8.  
  9. int cantidadItems(char* c){ //Funcion que devuelve un Entero y se encarga de calcula cuantos repuestos disponemos
  10.     int i=0;int k=0;
  11.     do{
  12.         if(*(c+i)==' '){
  13.             k++;
  14.         }
  15.         i++;
  16.     }while(*(c+i)!=('\0'));
  17.    
  18.     return(k+1);
  19. };
  20.  
  21. int cant(char* c, int k){
  22.     do{
  23.         k++;
  24.     }while((*(c+k)!=('\0')) && (*(c+k)!=(' ')));
  25.    
  26.     return(k);
  27. };
  28.  
  29. //LISTA DE ORDEN
  30. class Lista{
  31.     class Nodo{
  32.         char orden;
  33.         Nodo *siguiente;
  34.         public:
  35.             Nodo(char orden){
  36.                 this->orden = orden;
  37.                 siguiente = NULL;
  38.             }
  39.            
  40.             char get_orden(){
  41.                 return orden;
  42.             }
  43.            
  44.             void set_siguiente(Nodo *n){
  45.                 siguiente = n;
  46.             }
  47.            
  48.             Nodo* get_siguiente(){
  49.                 return siguiente;
  50.             }
  51.     };
  52.    
  53.     Nodo *head;
  54.     int cantidad;
  55.     typedef Nodo* Posicion;
  56.     public:
  57.         Posicion p;
  58.         char caracter;
  59.         Lista(){
  60.             head = NULL;
  61.             cantidad = 0;
  62.         }
  63.        
  64.         void insertar(Posicion p, char orden){
  65.             Nodo *nuevo = new Nodo(orden);
  66.             if(nuevo!=NULL){//COMPRUEBO QUE HAYA MEMORIA
  67.                 if(head==NULL){
  68.                     head = nuevo;
  69.                     cantidad++;
  70.                 }else{
  71.                     Nodo* r = head;
  72.                     while(r->get_siguiente()!=p){
  73.                         r = r->get_siguiente();
  74.                     }
  75.                    
  76.                     if(p==NULL){
  77.                         r->set_siguiente(nuevo);
  78.                     }else{
  79.                         nuevo->set_siguiente(r->get_siguiente());
  80.                         r->set_siguiente(nuevo);
  81.                     }
  82.                 }
  83.             }
  84.         }
  85.        
  86.         Posicion fin(){
  87.             Nodo *r = head;
  88.             while(r->get_siguiente()!=NULL){
  89.                 r = r->get_siguiente();
  90.             }return r;
  91.         }
  92.        
  93.         Posicion primero(){
  94.             if(head!=NULL){
  95.                 return head;
  96.             }else{
  97.                 return fin();
  98.             }
  99.         }
  100.        
  101.         Posicion siguiente(Posicion p){
  102.             return p->get_siguiente();
  103.         }
  104.        
  105.         char acceder(Posicion p){
  106.             return p->get_orden();
  107.         }
  108.        
  109.         bool esVacia(){
  110.             return head==NULL;
  111.         }
  112. };
  113.  
  114. //CAMBIA EL STRING DE C++ POR LA IMPLEMENTACION DE TU STRING, ES DECIR CAMBIALO POR MYSTRING
  115. class Vehiculo{
  116.     public:
  117.     string placa;
  118.     char puerta;
  119.     int averiado;
  120.     int contador;
  121.     char *Item;
  122.     Vehiculo *siguiente;
  123.     public:
  124.         Vehiculo(char placa, char puerta, int averiado){
  125.             this->placa = placa;//this es un puntero que se referencia a si mismo, es decir a mi clase!
  126.             this->puerta = puerta;
  127.             this->averiado = averiado;
  128.         }
  129.        
  130.         string get_placa(){
  131.             return placa;
  132.         }
  133.        
  134.         char get_puerta(){
  135.             return puerta;
  136.         }
  137.        
  138.         int get_averiado(){
  139.             return averiado;
  140.         }
  141. };
  142.  
  143. class Cola{
  144.     class Nodo{
  145.         Vehiculo *v;
  146.         Nodo *siguiente;
  147.         public:
  148.             Nodo(Vehiculo *v){
  149.                 this->v = v;
  150.                 siguiente = NULL;
  151.             }
  152.            
  153.             Vehiculo* get_v(){
  154.                 return v;
  155.             }
  156.            
  157.             void set_siguiente(Nodo *n){
  158.                 siguiente = n;
  159.             }
  160.            
  161.             Nodo* get_siguiente(){
  162.                 return siguiente;
  163.             }
  164.     };
  165.    
  166.     Nodo *pri, *ult;
  167.     public:
  168.         Cola(){
  169.             pri = ult = NULL;
  170.         }
  171.        
  172.         Vehiculo* primero(){
  173.             return pri->get_v();
  174.         }
  175.        
  176.         void encolar(Vehiculo* v){
  177.             Nodo *nuevo = new Nodo(v);
  178.             if(ult==NULL){
  179.                 pri = ult = nuevo;
  180.             }else{
  181.                 ult->set_siguiente(nuevo);
  182.                 ult = nuevo;
  183.             }
  184.         }
  185.        
  186.         void desencolar(){
  187.             Nodo *aux = pri;
  188.             pri = pri->get_siguiente();
  189.             delete aux;
  190.             if(pri==NULL)
  191.                 ult = NULL;
  192.         }
  193.        
  194.         bool esVacia(){
  195.             return pri==NULL;
  196.         }
  197. };
  198.  
  199.  
  200. class myString{
  201.     public:
  202.         Lista *primero;
  203.         Lista *ultimo;
  204.         Lista *aux;
  205.         int contador;
  206.        
  207.     public:
  208.         myString(){;
  209.             primero = NULL;
  210.             ultimo = NULL;
  211.             aux = NULL;
  212.             contador = 0;
  213. }
  214.  
  215.     void Insertar (char c);
  216.     void Mostrar ();
  217.    
  218. };
  219.  
  220.  void myString::Insertar(char aux){
  221.  
  222.     Lista* nuevo= new Lista();
  223.     nuevo->caracter=aux;
  224.     if(primero==NULL && ultimo==NULL){
  225.         primero=nuevo;
  226.         ultimo=nuevo;
  227.     }else{
  228.         ultimo->siguiente=nuevo;
  229.         ultimo=nuevo;
  230.         contador++; //revisar no estoy segura de si hace falta
  231.     }
  232. };
  233.  
  234. void myString::Mostrar(char aux){
  235.     aux=primero;
  236.     do{
  237.     cout<<aux->caracter;
  238.     aux=aux->siguiente;
  239.     }while(aux!=NULL);
  240.    
  241. };
  242.  
  243.  
  244. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  245. class Repuestos{ //Pila donde voy a guardar los Repuestos
  246.     public:
  247.         Vehiculo *ultimo;
  248.         Vehiculo *aux;
  249.         Vehiculo *tope;
  250.         int contador;//cantidad de carros que entran
  251.         public:
  252.         Repuestos(){
  253.             tope=NULL;
  254.             contador=0;
  255.             ultimo=NULL;
  256.             aux=NULL;
  257.         }
  258.         void Insertar(char placa[], char puerta, char averiado, char* item, int contador);
  259.         void Reparar(int i);
  260.         void Mostrar(char c);
  261.     void Usados(int i);
  262. };
  263.  
  264. void Repuestos::Usados(char placa[], char puerta, char averiado ,char* item,int contador){// FALTA por resolver!!!!!!!!!!!!
  265.  
  266.     int Ing=Capital;
  267.     int egreso=0;
  268.     int ingreso=0;
  269.     int c;
  270.    
  271.    
  272.     if(ultimo->averiado=='0'){ // se repara y factura a la vez
  273.        
  274.             egreso=((ultimo->contador)*1); //Contador indica la cantidad de repuestos a reparar en el carro que esta siendo atendido
  275.             ingreso=((ultimo->contador)*0);
  276.             Capital +=(ingreso-egreso); //Indica la ganancia obtenida por Liam tras la reparacion del carro atendido
  277.            
  278.         };
  279.          
  280.     aux=ultimo;
  281.     ultimo=aux->siguiente;//eliminacion del carro: se libera el nodo
  282.     cout<<"Vehiculo "<<i<<": ";
  283.    
  284.     for(k=0;k<10;k++)
  285.     {
  286.         cout<<aux->placa[k];
  287.     }
  288.     cout<<"\n"<<-1*(egreso)<<"\n"<<ingreso<<endl;
  289.    
  290.     //apilamos FALTA POR REVISAR Y TERMINAR DE HACER!!!!
  291.  
  292.     Vehiculo *aux
  293.     aux->siguiente=ultimo;
  294.     ultimo=aux;
  295. };
  296.  
  297.  
  298.  
  299.  
  300. void Repuestos::Insertar(char placa[], char puerta, char averiado ,char* item,int contador){
  301.   Vehiculo* nuevo=new Vehiculo();
  302.    int k=0;
  303.    
  304.    for(k=0;k<10;k++){
  305.         nuevo->placa[k]=placa[k];
  306.     };
  307.    
  308.    nuevo->puerta = puerta;
  309.    nuevo->averiado = averiado;
  310.    nuevo->Item = item; 
  311.    nuevo->contador = contador;
  312.     //se empiezan ha armar los Repuestos
  313.     if(ultimo==NULL){
  314.         ultimo=nuevo;
  315.     }else{
  316.         nuevo->siguiente=ultimo;
  317.         ultimo=nuevo;
  318.     }; 
  319.    
  320.     contador++; //cantidad de carros
  321. };
  322.  
  323. void Repuestos::Mostrar(){ //Muestra la placa del ultimo carro en insertar repuestos
  324.     int k=0;
  325.     for(k=0;k<10;k++){
  326.         cout<<aux->placa[k];
  327.     }  
  328. };
  329.    
  330. void Repuestos::Reparar(int i){
  331.  
  332.     int Ing=Capital;
  333.     int egreso=0;
  334.     int ingreso=0;
  335.     int k;
  336.    
  337.    
  338.     if(ultimo->averiado=='1'){ // se repara y factura a la vez
  339.        
  340.             egreso=((ultimo->contador)*2); //Contador indica la cantidad de repuestos a reparar en el carro que esta siendo atendido
  341.             ingreso=((ultimo->contador)*3);
  342.             Capital +=(ingreso-egreso); //Indica la ganancia obtenida por Liam tras la reparacion del carro atendido
  343.            
  344.        
  345.     }else if((Ing-ultimo->contador)>0){ //si averiado es igual a cero verificamos si tenemos capital para comprar
  346.             Capital-=ultimo->contador; //en caso de que el capital sea positivo, se pueda comprar.Se realiza una sustraccion al ingreso ingreso neto de Liam
  347.             egreso=ultimo->contador;
  348.         };
  349.          
  350.     aux=ultimo;
  351.     ultimo=aux->siguiente;//eliminacion logica
  352.     cout<<"Vehiculo "<<i<<": ";
  353.    
  354.     for(k=0;k<10;k++)
  355.     {
  356.         cout<<aux->placa[k];
  357.     }
  358.     cout<<"\n"<<-1*(egreso)<<"\n"<<ingreso<<endl;
  359.      
  360.      //desapilamos
  361.  
  362.     delete(aux);//eliminacion del carro atendido
  363. };
  364.  
  365. // MENU PRINCIPAL DEL PROGRAMA
  366. int main(){
  367.     int n,i,k;
  368.     char *c=NULL;//entrada
  369.     char placa[10];
  370.     char puerta;
  371.     char averiado;
  372.     char aux;
  373.     char *items=NULL;
  374.     Repuestos A;
  375.     Repuestos B;
  376.     myString string;
  377.    
  378.     cin>>n; //cantidad de vehiculos a ingresar
  379.     cin.ignore();
  380.     for(i=0;i<n;i++)
  381.     {
  382.         fflush(stdin); //fflush limpia el buffer de entrada de datos, sirve para cuando se necesita tomar muchos datos seguidos y se generan saltos de línea automáticos que se guardan en este buffer
  383.         c=new char[15];
  384.         cin.getline(c,15);
  385.         k=0;
  386.         do{
  387.             placa[k]=*c;     //calcula la cantidad de atributos necesarios para la placa
  388.             k++; c++;        //placa
  389.         }while(*c!=' ');
  390.        
  391.         while(k<10){
  392.             placa[k]=' '; //si la placa posee menos de 10 elementos alfanumericos,se completan los espacios con "vacio"
  393.             k++;
  394.         }    
  395.            
  396.         puerta=(*(c+1)); //calcula el atributo: puerta
  397.         averiado=(*(c+3));  //calcula el atributo: averiado    
  398.    
  399.        
  400.         fflush(stdin); //fflush limpia el buffer de entrada de datos, sirve para cuando se necesita tomar muchos datos seguidos y se generan saltos de línea automáticos que se guardan en este buffer
  401.         items=new char[1002];
  402.         cin.getline(items,1002);
  403.         k=cantidadItems(items);
  404.         if(puerta=='A' || puerta=='a') //Insertamos teniendo en cuenta la puerta
  405.         {
  406.             A.Insertar(placa,puerta,averiado,items,k);
  407.            
  408.         }
  409.         else if(puerta=='B' || puerta=='b')
  410.         {
  411.             B.Insertar(placa,puerta,averiado,items,k);
  412.            
  413.         }
  414.     }  
  415.     for(i=0;i<n;i++){
  416.         cin>>aux;
  417.         string.Insertar(aux);
  418.     }
  419.     string.aux=string.primero;
  420.     for(i=0;i<n;i++){
  421.         if(string.aux->caracter=='A' || string.aux->caracter=='a'){
  422.             if(A.ultimo!=NULL){
  423.                 A.Reparar(i+1);
  424.                
  425.             }else{
  426.                 B.Reparar(i+1);
  427.                
  428.             }  
  429.         }else if(puerta=='B' || puerta=='b'){
  430.             if(B.ultimo!=NULL){
  431.                 B.Reparar(i+1);
  432.                
  433.             }else{
  434.                 A.Reparar(i+1);
  435.            
  436.                 }  
  437.         }
  438.         string.aux=string.aux->siguiente;
  439.     }
  440.     cout<<Capital<<endl;
  441. return 0;
  442. };
  #3 (permalink)  
Antiguo 23/12/2011, 07:20
 
Fecha de Ingreso: diciembre-2011
Ubicación: Crespo - Entre Rios
Mensajes: 155
Antigüedad: 12 años, 4 meses
Puntos: 25
Respuesta: Problema para terminar y compilar un proyecto

uno de los errores que veo es que el prototipo de algunas funciones no coinciden con el prototipo a la hora de declararlas. por ejemplo:


en la clase Repuestos tenes declarada la funcion void Usados(int i); y cuando queres desarrollar el algoritmo de esta funcion declaras void Respuestos::Usados(char placa[], char puerta, char averiado, char* item, int contador), para que la funcion sea correcta estos dos deben coincidir..... tendrias que cambiar la linea 261 por void Usados(char placa[], char puerta, char averiado, char* item, int contador Ó void Usados(char [], char, char, char*, int). Haciendo esto te va a dar error la linea 282 ya que tu variable i va a desaparecer.




Otro. en la funcion de la linea 234 myString::Mostrar(char aux). Dentro de esta estas tratando a la variable aux como si fuera un puntero, pero no la pasaste como puntero, una posible solucion seria agregar en el prototipo el asteriscto.
myString::Mostrar(char *aux)

si no la queres tratar como puntero tendrias que cambiar el codigo dentro de la funcion.



Otro. Linea 292 te olvidaste del ; por lo que te da un error en la siguiente linea diciendo que se esperaba la inicializacion de la variable aux.

Otro. linea 235, estas tratando de asignar a una variable de tipo char una de tipo Lista. Ahi no se que solucion darte porque no se que querias asignar.


sigo viendo tu codigo, saludos
  #4 (permalink)  
Antiguo 23/12/2011, 08:08
 
Fecha de Ingreso: diciembre-2011
Mensajes: 21
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Problema para terminar y compilar un proyecto

Muchas gracias por la ayuda! La funcion void Usados no la he desarrollado en si todavia, por ahora tengo es solo ideas metidas dentro, se supone que en esa funcion voy a guardar en una pila los repuestos usados (items) que me entran con el vehiculo no averiado, para poder utilizarlos en el futuro para la reparacion de los vehiculas averiados, pero no se todavia como crear esa funcion para que haga lo que quiero.

No sabia lo de pasar *aux como puntero, con razon me daba error en la 234, y en la 235 el error fue mio, le debia asignar el primer caracter de MyString para mostrarlo, gracias por señalarmelo.
  #5 (permalink)  
Antiguo 23/12/2011, 09:50
 
Fecha de Ingreso: diciembre-2011
Mensajes: 21
Antigüedad: 12 años, 4 meses
Puntos: 0
Pregunta Respuesta: Problema para terminar y compilar un proyecto

Elimine la clase myString::Mostrarr y cree la clase Caracter., pero me sigue dando error en la funcion void myString::Insertar cuando compilo, siendo la clase Vehiculos la que me da la mayoria de los errores....Mi nuevo codigo del proyecto es este:
Código C++:
Ver original
  1. #include<stdio.h>
  2. #include<iostream>
  3. using namespace std;
  4.  
  5. //Variables Globales
  6.  
  7. int Capital=20;
  8.  
  9. int cantidadItems(char* c){ //Funcion que devuelve un Entero y se encarga de calcula cuantos repuestos disponemos
  10.     int i=0;int k=0;
  11.     do{
  12.         if(*(c+i)==' '){
  13.             k++;
  14.         }
  15.         i++;
  16.     }while(*(c+i)!=('\0'));
  17.    
  18.     return(k+1);
  19. };
  20.  
  21. int cant(char* c, int k){
  22.     do{
  23.         k++;
  24.     }while((*(c+k)!=('\0')) && (*(c+k)!=(' ')));
  25.    
  26.     return(k);
  27. };
  28.  
  29. //LISTA DE ORDEN
  30. class Lista{
  31.     class Nodo{
  32.         char orden;
  33.         Nodo *siguiente;
  34.         public:
  35.             Nodo(char orden){
  36.                 this->orden = orden;
  37.                 siguiente = NULL;
  38.             }
  39.            
  40.             char get_orden(){
  41.                 return orden;
  42.             }
  43.            
  44.             void set_siguiente(Nodo *n){
  45.                 siguiente = n;
  46.             }
  47.            
  48.             Nodo* get_siguiente(){
  49.                 return siguiente;
  50.             }
  51.     };
  52.    
  53.     Nodo *head;
  54.     int cantidad;
  55.     typedef Nodo* Posicion;
  56.     public:
  57.         Posicion p;
  58.         char caracter;
  59.         Lista(){
  60.             head = NULL;
  61.             cantidad = 0;
  62.         }
  63.        
  64.         void insertar(Posicion p, char orden){
  65.             Nodo *nuevo = new Nodo(orden);
  66.             if(nuevo!=NULL){//COMPRUEBO QUE HAYA MEMORIA
  67.                 if(head==NULL){
  68.                     head = nuevo;
  69.                     cantidad++;
  70.                 }else{
  71.                     Nodo* r = head;
  72.                     while(r->get_siguiente()!=p){
  73.                         r = r->get_siguiente();
  74.                     }
  75.                    
  76.                     if(p==NULL){
  77.                         r->set_siguiente(nuevo);
  78.                     }else{
  79.                         nuevo->set_siguiente(r->get_siguiente());
  80.                         r->set_siguiente(nuevo);
  81.                     }
  82.                 }
  83.             }
  84.         }
  85.        
  86.         Posicion fin(){
  87.             Nodo *r = head;
  88.             while(r->get_siguiente()!=NULL){
  89.                 r = r->get_siguiente();
  90.             }return r;
  91.         }
  92.        
  93.         Posicion primero(){
  94.             if(head!=NULL){
  95.                 return head;
  96.             }else{
  97.                 return fin();
  98.             }
  99.         }
  100.        
  101.         Posicion siguiente(Posicion p){
  102.             return p->get_siguiente();
  103.         }
  104.        
  105.         char acceder(Posicion p){
  106.             return p->get_orden();
  107.         }
  108.        
  109.         bool esVacia(){
  110.             return head==NULL;
  111.         }
  112. };
  113.  
  114. //CAMBIA EL STRING DE C++ POR LA IMPLEMENTACION DE TU STRING, ES DECIR CAMBIALO POR MYSTRING
  115. class Vehiculo{
  116.     public:
  117.     string placa;
  118.     char puerta;
  119.     int averiado;
  120.     int contador;
  121.     char *Item;
  122.     Vehiculo *siguiente;
  123.     public:
  124.         Vehiculo(char placa, char puerta, int averiado, char *Item){
  125.             this->placa = placa;//this es un puntero que se referencia a si mismo, es decir a mi clase!
  126.             this->puerta = puerta;
  127.             this->averiado = averiado;
  128.             this ->Item = Item;
  129.             contador=0;
  130.         }
  131.        
  132.         string get_placa(){
  133.             return placa;
  134.         }
  135.        
  136.         char get_puerta(){
  137.             return puerta;
  138.         }
  139.        
  140.         int get_averiado(){
  141.             return averiado;
  142.         }
  143.         char* get_Item(){
  144.             return Item;
  145.         }
  146.        
  147.        
  148. };
  149.  
  150. class Cola{
  151.     class Nodo{
  152.         Vehiculo *v;
  153.         Nodo *siguiente;
  154.         public:
  155.             Nodo(Vehiculo *v){
  156.                 this->v = v;
  157.                 siguiente = NULL;
  158.             }
  159.            
  160.             Vehiculo* get_v(){
  161.                 return v;
  162.             }
  163.            
  164.             void set_siguiente(Nodo *n){
  165.                 siguiente = n;
  166.             }
  167.            
  168.             Nodo* get_siguiente(){
  169.                 return siguiente;
  170.             }
  171.     };
  172.    
  173.     Nodo *pri, *ult;
  174.     public:
  175.         Cola(){
  176.             pri = ult = NULL;
  177.         }
  178.        
  179.         Vehiculo* primero(){
  180.             return pri->get_v();
  181.         }
  182.        
  183.         void encolar(Vehiculo* v){
  184.             Nodo *nuevo = new Nodo(v);
  185.             if(ult==NULL){
  186.                 pri = ult = nuevo;
  187.             }else{
  188.                 ult->set_siguiente(nuevo);
  189.                 ult = nuevo;
  190.             }
  191.         }
  192.        
  193.         void desencolar(){
  194.             Nodo *aux = pri;
  195.             pri = pri->get_siguiente();
  196.             delete aux;
  197.             if(pri==NULL)
  198.                 ult = NULL;
  199.         }
  200.        
  201.         bool esVacia(){
  202.             return pri==NULL;
  203.         }
  204. };
  205.  
  206. class Caracter{
  207.  
  208.     public:
  209.  
  210.     char caracter;
  211.  
  212.     Caracter* sig;
  213.  
  214.     public:
  215.  
  216.     Caracter(){
  217.  
  218.         sig=NULL;
  219.  
  220.     }  
  221.  
  222. };
  223.  
  224. class myString{
  225.     public:
  226.         Caracter *primero;
  227.         Caracter *ultimo;
  228.         Caracter *aux;
  229.         int contador;
  230.        
  231.     public:
  232.         myString(){;
  233.             primero = NULL;
  234.             ultimo = NULL;
  235.             aux = NULL;
  236.             contador = 0;
  237. }
  238.  
  239.     void Insertar (char c);
  240.    
  241. };
  242.  
  243.  void myString::Insertar(char c){
  244.  
  245.     Caracter* nuevo= new Caracter();
  246.     nuevo->caracter=aux;
  247.     if(primero==NULL && ultimo==NULL){
  248.         primero=nuevo;
  249.         ultimo=nuevo;
  250.     }else{
  251.         ultimo->sig=nuevo;
  252.         ultimo=nuevo;
  253.         contador++; //revisar no estoy segura de si hace falta
  254.     }
  255. };
  256.  
  257. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  258. class Repuestos{ //Pila donde voy a guardar los Repuestos
  259.     public:
  260.         Vehiculo *ultimo;
  261.         Vehiculo *aux;
  262.         Vehiculo *tope;
  263.         int contador;//cantidad de carros que entran
  264.         public:
  265.         Repuestos(){
  266.             tope=NULL;
  267.             contador=0;
  268.             ultimo=NULL;
  269.             aux=NULL;
  270.         }
  271.         void Insertar(char placa[], char puerta, char averiado, char* item, int contador);
  272.         void Reparar(int i);
  273.         void Mostrar(int i);
  274.     void Usados(int i);
  275. };
  276.  
  277. void Repuestos::Usados(char placa[], char puerta, char averiado ,char* item,int contador){// FALTA por resolver!!!!!!!!!!!!
  278.  
  279.     int Ing=Capital;
  280.     int egreso=0;
  281.     int ingreso=0;
  282.     int c;
  283.    
  284.    
  285.     if(ultimo->averiado=='0'){ // se repara y factura a la vez
  286.        
  287.             egreso=((ultimo->contador)*1); //Contador indica la cantidad de repuestos a reparar en el carro que esta siendo atendido
  288.             ingreso=((ultimo->contador)*0);
  289.             Capital +=(ingreso-egreso); //Indica la ganancia obtenida por Liam tras la reparacion del carro atendido
  290.            
  291.         };
  292.          
  293.     aux=ultimo;
  294.     ultimo=aux->siguiente;//eliminacion del carro: se libera el nodo
  295.     cout<<"Vehiculo "<<i<<": ";
  296.    
  297.     for(k=0;k<10;k++)
  298.     {
  299.         cout<<aux->placa[k];
  300.     }
  301.     cout<<"\n"<<-1*(egreso)<<"\n"<<ingreso<<endl;
  302.    
  303.     //apilamos FALTA POR REVISAR Y TERMINAR DE HACER!!!!
  304.  
  305.     Vehiculo *aux;
  306.     aux->siguiente=ultimo;
  307.     ultimo=aux;
  308. };
  309.  
  310.  
  311.  
  312.  
  313. void Repuestos::Insertar(char placa[], char puerta, char averiado ,char* item,int contador){
  314.   Vehiculo* nuevo=new Vehiculo();
  315.    int k=0;
  316.    
  317.    for(k=0;k<10;k++){
  318.         nuevo->placa[k]=placa[k];
  319.     };
  320.    
  321.    nuevo->puerta = puerta;
  322.    nuevo->averiado = averiado;
  323.    nuevo->Item = item; 
  324.    nuevo->contador = contador;
  325.     //se empiezan ha armar los Repuestos
  326.     if(ultimo==NULL){
  327.         ultimo=nuevo;
  328.     }else{
  329.         nuevo->siguiente=ultimo;
  330.         ultimo=nuevo;
  331.     }; 
  332.    
  333.     contador++; //cantidad de carros
  334. };
  335.  
  336. void Repuestos::Mostrar(int i){ //Muestra la placa del ultimo carro en insertar repuestos
  337.     int k;
  338.     for(k=0;k<10;k++){
  339.         cout<<aux->placa[k];
  340.     }  
  341. };
  342.    
  343. void Repuestos::Reparar(int i){
  344.  
  345.     int Ing=Capital;
  346.     int egreso=0;
  347.     int ingreso=0;
  348.     int k;
  349.    
  350.    
  351.     if(ultimo->averiado=='1'){ // se repara y factura a la vez
  352.        
  353.             egreso=((ultimo->contador)*2); //Contador indica la cantidad de repuestos a reparar en el carro que esta siendo atendido
  354.             ingreso=((ultimo->contador)*3);
  355.             Capital +=(ingreso-egreso); //Indica la ganancia obtenida por Liam tras la reparacion del carro atendido
  356.            
  357.        
  358.     }else if((Ing-ultimo->contador)>0){ //si averiado es igual a cero verificamos si tenemos capital para comprar
  359.             Capital-=ultimo->contador; //en caso de que el capital sea positivo, se pueda comprar.Se realiza una sustraccion al ingreso ingreso neto de Liam
  360.             egreso=ultimo->contador;
  361.         };
  362.          
  363.     aux=ultimo;
  364.     ultimo=aux->siguiente;//eliminacion logica
  365.     cout<<"Vehiculo "<<i<<": ";
  366.    
  367.     for(k=0;k<10;k++)
  368.     {
  369.         cout<<aux->placa[k];
  370.     }
  371.     cout<<"\n"<<-1*(egreso)<<"\n"<<ingreso<<endl;
  372.      
  373.      //desapilamos
  374.  
  375.     delete(aux);//eliminacion del carro atendido
  376. };
  377.  
  378. // MENU PRINCIPAL DEL PROGRAMA
  379. int main(){
  380.     int n,i,k;
  381.     char *c=NULL;//entrada
  382.     char placa[10];
  383.     char puerta;
  384.     char averiado;
  385.     char aux;
  386.     char *items=NULL;
  387.     char orden;
  388.     Repuestos A;
  389.     Repuestos B;
  390.     Vehiculo *v;
  391.     myString string;
  392.    
  393.     Cola *puertaA = new Cola(), *puertaB = new Cola();
  394.  
  395.     Lista *lorden = new Lista();
  396.  
  397.     cin>>n; //cantidad de vehiculos a ingresar
  398.     cin.ignore();
  399.     for(i=0;i<n;i++)
  400.     {
  401.         fflush(stdin); //fflush limpia el buffer de entrada de datos, sirve para cuando se necesita tomar muchos datos seguidos y se generan saltos de línea automáticos que se guardan en este buffer
  402.         c=new char[15];
  403.         cin.getline(c,15);
  404.         k=0;
  405.         do{
  406.             placa[k]=*c;     //calcula la cantidad de atributos necesarios para la placa
  407.             k++; c++;        //placa
  408.         }while(*c!=' ');
  409.        
  410.         while(k<10){
  411.             placa[k]=' '; //si la placa posee menos de 10 elementos alfanumericos,se completan los espacios con "vacio"
  412.             k++;
  413.         }    
  414.            
  415.         puerta=(*(c+1)); //calcula el atributo: puerta
  416.         averiado=(*(c+3));  //calcula el atributo: averiado    
  417.    
  418.        
  419.         fflush(stdin); //fflush limpia el buffer de entrada de datos, sirve para cuando se necesita tomar muchos datos seguidos y se generan saltos de línea automáticos que se guardan en este buffer
  420.         items=new char[1002];
  421.         cin.getline(items,1002);
  422.         k=cantidadItems(items);
  423.         v = new Vehiculo(placa,puerta,averiado);
  424.  
  425.         if(puerta=='A' || puerta=='a') //Insertamos teniendo en cuenta la puerta
  426.         {
  427.                
  428.             puertaA->encolar(v);
  429.  
  430.             A.Insertar(placa,puerta,averiado,items,k);
  431.        
  432.            
  433.         }
  434.         else if(puerta=='B' || puerta=='b')
  435.         {          
  436.            
  437.             puertaB->encolar(v);
  438.  
  439.             B.Insertar(placa,puerta,averiado,items,k);
  440.            
  441.         }
  442.     }  
  443.     for(i=0;i<n;i++){
  444.         cin>>aux;
  445.         string.Insertar(aux);
  446.     }
  447.     string.aux=string.primero;
  448.     for(i=0;i<n;i++){
  449.  
  450.         lorden->insertar(NULL,orden);
  451.  
  452.         if(string.aux->caracter=='A' || string.aux->caracter=='a'){
  453.             if(A.ultimo!=NULL){
  454.                 A.Reparar(i+1);
  455.                
  456.             }else{
  457.                 B.Reparar(i+1);
  458.                
  459.             }  
  460.         }else if(puerta=='B' || puerta=='b'){
  461.             if(B.ultimo!=NULL){
  462.                 B.Reparar(i+1);
  463.                
  464.             }else{
  465.                 A.Reparar(i+1);
  466.            
  467.                 }  
  468.         }
  469.         string.aux=string.aux->sig;
  470.     }
  471.     cout<<Capital<<endl;
  472.  
  473.     delete puertaA, puertaB, v, lorden;
  474. return 0;
  475. };

Saludos

Última edición por pyromiyuve; 23/12/2011 a las 10:24 Razón: añadir unos detalles y modificar el codigo publicado
  #6 (permalink)  
Antiguo 24/12/2011, 14:27
 
Fecha de Ingreso: diciembre-2011
Ubicación: Crespo - Entre Rios
Mensajes: 155
Antigüedad: 12 años, 4 meses
Puntos: 25
Respuesta: Problema para terminar y compilar un proyecto

Solucionesmos los ultimos errores para que el programa compile y luego analizamos la logica del programa.


LINEA 246:

Estas tratando de asignar a una variable de tipo char un puntero de tipo Caracter.

Otra vez no se que asignacion querés hacer.


LINEA 274:

Cambiarla por:

Código C++:
Ver original
  1. void Repuestos::Usados(char placa[], char puerta, char averiado ,char* item,int contador);

este error surge al no coincider el prototipo de la funcion en esta linea y la 277.


LINEA 295:

Eliminarla, no va a ser necesaria en el futuro, lo vamos a solucionar de otra manera.


LINEA 297:

La variable k que utilizas dentro del for no fue previamente declarada, para solucionar esto podes declararla dentro del for:

Código C++:
Ver original
  1. for (int k=0; k<10; k++)


LINEA 314:

La clase Vehiulo cuenta con un constructo:

Código C++:
Ver original
  1. Vehiculo(char placa, char puerta, int averiado, char *Item);

al crear una variable de este tipo tenes que pasarle como parametro 4 variables de tipo char, char, int y char* respectivamente.

Solucion:

Código C++:
Ver original
  1. int AELiminar;//esta variable la cree para utilzarla en el constructos de la linea que sigue
  2.                      //ya que necesita una variable de tipo int que no hay
  3.  
  4. Vehiculo* nuevo= new Vehiculo(*placa, puerta, AEliminar, item);

LINEA 423:

nuevamente el mismo error anterior, cuando creas una variable de tipo Vehiculo tenes que pasarle 4 variables:

Código C++:
Ver original
  1. v = new Vehiculo(*placa,puerta,averiado, items);


Ahora el programa compila y como te dije anteriormente hay que buscar los problemas de logica y terminar la funciones incompletas.

Saludos y felices fiesta.

Etiquetas: clase, funcion, programa, proyecto, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:53.