Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - santiagolo

#1
Programación C/C++ / Error c++
6 Marzo 2014, 01:12 AM
Hola!, podrían ayudarme a encontrar el error de este programa?


Código (cpp) [Seleccionar]
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
#include<string.h>

int a;
char nombres[1000][25],apellidos[1000][30];
FILE*arch;
int cargar_arch(){
                  if(fopen("dato.txt","r")){
                  arch=fopen("dato.txt","r");
                  fscanf(arch,"%i",&a);
                  for(int c=0;c<a;c++){
                                        fprintf(arch,"%s\n",nombres[c]);
                                        fprintf(arch,"%s\n",apellidos[c]);
                                        }
                  fclose(arch);
                  return 1;
                  }               
                  else if (!fopen("dato.txt","r")){
                                                   return 0;
                                                   }
                          }
void cargar(){
              printf("Ingrese cantidad de empleados\n");
              printf("Cantidad: ");
              do{
                 scanf("%i",&a);
                 }
                while(a<=0||a>=1000);
             for(int c=0;c<a;c++){system("cls");
                                  printf("Empleado Numero %i\n",c+1);
                                  printf("Nombre: ",nombres[c]);
                                  scanf("%s",&nombres[c]);
                                  printf("Apellido: ",apellidos[c]);
                                  scanf("%s",&apellidos[c]);
                                  system("cls");
                                  }

             }
int guardar_arch(){
                   arch=fopen("dato.txt","w");
                   fprintf(arch,"%i\n",&a);
                   for(int c=0;c<a;c++){
                                        for(int c2=0;c2<a;c2++){
                                                                fprintf(arch,"%s\n",&nombres[c]);
                                                                fprintf(arch,"%s\n",&apellidos[c]);
                                                                }
                                        }
                                       
                   fclose(arch);
                   }
                   
main(){
       int op;
       char aux[25];
       if(cargar_arch()==1){printf("Se cargaron datos anteriores\n");}
       else printf("No hay datos anteriores\n");
       do{
          printf("1)Cargar\n");
          printf("2)Ver\n");
          printf("3)Salir\n");
          printf("Opcion: ");
          scanf("%i",&op);
           switch(op){
                      case 1:
                      cargar();       
                      break;
                      case 2:
                      printf("EMPLEADOS\n\n");
                       for(int con=0;con<a;con++){
                                                  for(int con2=0;con2<a;con2++){
                                                                                if(strcmp(apellidos[con],apellidos[con2])<0){
                                                                                strcpy(aux,apellidos[con]);
                                                                                strcpy(apellidos[con],apellidos[con2]);
                                                                                strcpy(apellidos[con2],aux);
                                                                                strcpy(aux,nombres[con]);
                                                                                strcpy(nombres[con],nombres[con2]);
                                                                                strcpy(nombres[con2],aux);
                                                                                                         }
                                                                               }
                                                }
                       for(int con=0;con<a;con++){
                                                  printf("%s ,%s\n",apellidos[con],nombres[con]);
                                                 }                                 
                       break;
                       case 3:
                       guardar_arch();
                       break;
                       system("cls");
                       system("pause");
                       }
   }
   while(op!=3);
}


Salta error en el segundo corchete y no entiendo porque!
Muchas gracias
#2
Uy, quedé sumamente sorprendido con sus respuestas, no esperaba tanta ayuda jajaja. Muchísimas gracias!

Por otro lado, surgió otro problemita, cuando compilo el programa, se cierra automáticamente!
¿A qué se debe esto?


Citar/* Trabajo Práctico de Programación FEBRERO 18/*/

#include <stdlib.h>
#include <stdio.h>
#include "string.h"
int main()
{
   int cant,c,dni;
   char nomb[150][10],ape[150][10],ts[150][10];

int cargar()
{
   printf ("Ingrese la cantidad de empleados :");
   scanf ("%i",&cant);

   for(c=1;cant>=10;c++){
      system("cls");
      printf ("Ingrese el nombre del empleado:",c);
      scanf ("%s",&nomb[c]);
      printf ("Ingrese el apellido del empleado:",c);
      scanf ("%s",&ape[c]);
      printf ("Ingrese el DNI del empleado :",c);
      scanf ("%s",&dni);
      printf ("Ingrese el Tipo de sangre del empleado (POSITIVA-NEGATIVA)",c);
      scanf ("%s",&ts[c]);
   }
}
int ver(){

     if(cant==0){
                                   printf("No ingreso los empleados");
                                   }
                       else{
                       printf("Empleados:\n");
                       for(c=1;c<=cant;c++){
                                            printf("\n %s %s %s",nomb[c],ape[c],ts[c]);
                                            }
                       }
     }

int menu()
{
   int opc;
   do{
      system ("cls");
      printf ("Cargar\n Ver\n2 Salir\n3");
      scanf ("%d",&opc);
      switch(opc){
         case 1: cargar();
         break;
         case 2: ver();
         break;
         case 3: printf ("Fin del programa");
         break;
         default: printf ("La opcion es incorrecta");
         break;
      };
    } while (opc!=3);
    system ("pause");
}
}


PD: Los colores del texto, se me desconfiguraron, pero logré colocarlos en Herramientas/OpcionesDelEditor/Sintaxis, y acá no funcionan :(
#3
Programación C/C++ / [C++] Necesito una mano :D
21 Febrero 2014, 01:58 AM
Bueno, hola gente, soy nuevo, ya me estaré presentando.
Tengo que rendir programación, la verdad es que siempre odie el tema porque no lograba entenderlo. Estos últimos dos meses, me puse a estudiar, y creanme, me enamoré de esto, me encanta hacer programitas todo el tiempo, esucuchando música y relajandome jaja.
Bien, vayamos al punto en cuestión. Hice este programa, y tengo un solo error. Me considero un "Novato" o "Principiante" y estoy aprendiendo mucho, pero nunca termino este programa.
Aquí el code:

Citar/* Trabajo Práctico de Programación FEBRERO 18/*/

#include <stdlib.h>
#include <stdio.h>
#include "string.h"

int main(){
   int cant,c,dni;
   char nomb[150][10],ape[150][10],ts[150][10];
   int cargar(){
   printf ("Ingrese la cantidad de empleados :");
   scanf ("%i",&cant);
   
    for(c=1;cant>=10;c++){
      system("cls");
      printf ("Ingrese el nombre del empleado:",c);
      scanf ("%s",&nomb[c]);
      printf ("Ingrese el apellido del empleado:",c);
      scanf ("%s",&ape[c]);
      printf ("Ingrese el DNI del empleado :",c);
      scanf ("%s",&dni);
      printf ("Ingrese el Tipo de sangre del empleado (POSITIVA-NEGATIVA)",c);
      scanf ("%s",&ts[c]);
      }
   }
int ver(){

     if(cant==0){
                                   printf("No ingreso los empleados");
                                   }
                       else{
                       printf("Empleados:\n");
                       for(c=1;c<=cant;c++){
                                            printf("\n %s %s %s",nomb[c],ape[c],ts[c]);
                                            }
                       }
     }
   
int menu(){
   int opc;
   do{
      system ("cls");
      printf ("Cargar\n Ver\n2 Salir\n3");
      scanf ("%d",&opc);
      switch(opc){
         case 1: cargar();
         break;
         case 2: ver();
         break;
         case 3: printf ("Fin del programa");
         break;
         default: printf ("La opcion es incorrecta");
         break;
         while (opc!=3);
      system ("pause");
      }
      
   }
      }

El error:

CitarC:\Users\Miguel\Desktop\Nueva carpeta\santi!!!!.c In function `menu':
58 C:\Users\Miguel\Desktop\Nueva carpeta\santi!!!!.c syntax error before '}' token

Como verán, es el último "Corchete" en el que sale el error marcado. Con muchas ansias, espero su respuesta!
Muchas gracias!