Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: carrie en 13 Octubre 2014, 04:06 am



Título: Dev C++ me dice siempre librerias anticuadas
Publicado por: carrie en 13 Octubre 2014, 04:06 am
Hola tengo este ejercicio y no se que esta mal consiste en mostrar los datos de los nombre demujeres, hombres y el estado civil, gracias!

#include<conio.h>
#include<stdio.h>
#include<string.h>
#include <iostream.h> 
#include <stdlib.h> 
  using namespace std;
  const char estadoCivil[5][11]={"soltero","casado","divorciado","Viudo","U.Libre"};

           int est[5],codigo;
          cout<< "Ingrese 1 soltero, 2 casado, 3 divorciado, 4 viudo, 5 union libre"<< endl;
            for(int i=0;i< 5;i++)
               est=0;
           
            for(int j=0;j< 10;j++)       
             {
               cout << "ingrese codigo";
               cin >> codigo;
               cout << "EstadoCivil:" << estadoCivil[codigo];
               est[codigo]=est[codigo]+1;
               cout << endl;
             }
         
            for(int k=0;k< 5;k++)
             {
               cout << "Estado" << estadoCivil[k] << " hay " << est[k]<< endl;
             }                                             

{
char nom[10][20],sexo[10][20]; char m[20]="masculino"; char f[20]="femenino"; char search[20];
int fe=0,ma=0;
for (int i=0;i<=9;i++)
{
printf("Ingrese el nombre %d: ",i+1);
gets(nom);
printf("Ingrese el sexo ");
gets(sexo);
if (strcmp(sexo,m)==0)
{
ma++;
}
else if (strcmp(sexo,f)==0)
{
fe++;
}
}
printf("\n\ningrese nombre a buscar\n");
gets(search);
int ex=0;
for (int b=0;b<=9;b++)
{
if (strcmp(nom,search)==0)
{
printf("\nel nombre ya esta registrado");
ex=1;
}
}
if (ex==0)
{
printf("\n\nel nombre no esta registrado");
}
printf("\n\ncantidad de masculinos: %d femeninos: %d",ma,fe);
getch();

 system("Pause");
    return 0;
    }


Título: Re: Dev C++ me dice siempre librerias anticuadas
Publicado por: rir3760 en 13 Octubre 2014, 05:08 am
Los mensajes de error que mencionas se deben a que en C++ los encabezados parte de la biblioteca estándar de C no deben terminar en ".h", en su lugar debe prefijarse con "c". Ademas el nombre correcto del encabezado es <iostream>, estas directivas:
Código
  1. #include <conio.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include <iostream.h>
  5. #include <stdlib.h>
  6. using namespace std;

Hay que cambiarlas a:
Código
  1. #include <cstdio>
  2. #include <cstring>
  3. #include <iostream>
  4. #include <cstdlib>
  5. using namespace std;

En cuanto a la biblioteca conio de Borland la recomendación es evitarla, las razones de ello se explican en el tema |Lo que no hay que hacer en C/C++. Nivel basico| (http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html).

Por ultimo cuando publiques código fuente por favor utiliza las etiquetas de código. Estas se agregan mediante el cuadro desplegable con el texto "GeSHi" en la pagina de composición de mensajes, solo tienes que seleccionar ahí el lenguaje (C, C++, etc.).

Un saludo


Título: Re: Dev C++ me dice siempre librerias anticuadas
Publicado por: BlackM4ster en 13 Octubre 2014, 09:27 am
Te recomiendo que olvides DevC++ porque está obsoleto.
Te recomiendo CODEBLOCKS