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ú

Temas - 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
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!