elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda Con Un Programa!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda Con Un Programa!  (Leído 1,490 veces)
McCartney

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Ayuda Con Un Programa!
« en: 25 Febrero 2013, 00:06 am »

Hola compañeros, soy nuevo en esto de la programación y quería pedirles su ayuda para completar esta tarea, la verdad ya estoy desesperado... De Antemano Gracias

Hacer un programa que emule un registro de alumnos y tenga las siguientes características:
Debe contener el menú siguiente:
A> Altas de Alumno
B> Bajas de Alunmo
C> Consulta de Alumnos
S> Salir

Donde en "Altas" se deberá capturar la siguiente información:
Matrícula del Alumno (Buscarla, y si ya está, avisar y regresar al menú)
Nombre y Apellidos
Años en la Escuela
Número de Créditos Aprobados
(Deberá regresar al menú automáticamente después de finalizar algún registro)

En "Bajas" se deberá pedir la matrícula y buscarla. Si existe sólo se pondrá una marca en el campo de matrícula, indicando que este alumno se dio de baja. Si no existe se deberá mostrar un mensaje y regresar al menú.

En "Consultas" se deberá mostará el siguiente sub-menú y cada opción realizará lo que se indica:
M> Por Matrícula
N> Por Nombre
(Buscar al alumno, mostrar sus datos y decir si el alumno esta aprobando o no los créditos mínimos de 93 por año)
T> Todos
(Mostar todos los alumnos)
R> Regresar al menú

***NOTA: Se debe usar un arreglo de tipo struct.

------------------------------------------------------------------------------------------------------------------------


Ahora: esto es lo que llevo hasta el momento:


Código:
#include <stdio.h>
#include <ctype.h>
int main()
{
int rep=0,i=0,band,cont=0,b=0,j=0;
long int busq;
char op,nomb[15];
struct general
{
long int mat;
char nom[15];
char ap_pat[15];
char ap_mat[15];
int anos;
int creditos;
}alumno[50];
while (rep>=0)
{
printf("***PROGRAMA QUE EMULA UN REGISTRO DE ALUMNOS DE LA BUAP***\n");
printf("Elija Una Opcion\n");
printf("A > Alta De Alumno\n");
printf("B > Baja De Alumno\n");
printf("C > Consultas De Alumnos\n");
printf("S > Salir\n");
op=getchar();
op=toupper(op);
switch(op)
{
case 'S':
{
rep=-1;
band=0;
printf("Decidio salir\n");
break;
}
case 'A':
{
band=1;
for (i=cont;i<=cont;i++)
{
printf("Da la matricula del alumno %d\n",i+1);
scanf("%ld",&alumno[i].mat);
busq=alumno[i].mat;
j=0;
while(j<=i-1 && b!=1)
{
if(busq==alumno[j].mat)
{
b=1;
}
else
{
j++;
}
}
if (b==1)
{
printf("Alumno ya inscrito\n");
cont=cont-2;
}
else
{
printf("Dame su nombre\n");
alumno[i].nom=gets(nomb);
printf("%s",alumno[i].nom);
}
}
cont++;
break;
}
default:
{
band=0;
printf("Opción inválida\n");
break;
}
}
if (band!=0)
{
printf("Pulsa cualquier número para que te enseñe de nuevo el menú\n");
scanf("%d",&rep);
getchar();
}
}
}


Mi principal duda es... Al momento de compilar el pedacito que llevo, me aparece error en la sección que contiene:
Código:
alumno[i].nom=gets(nomb);
Me podrían indicar como hacerlo correctamente?


Muchas gracias de antemano :)
Saludos!!


En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Ayuda Con Un Programa!
« Respuesta #1 en: 25 Febrero 2013, 02:53 am »

El error en la linea:
Código
  1. alumno[i].nom=gets(nomb);
Se genera porque no es valido utilizar el operador "=" con arrays, tampoco necesitas la variable auxiliar "nomb". Para leer el nombre de la entrada estándar debes cambiar la sentencia a:
Código
  1. gets(alumno[i].nom);
Así ya no se generara el mensaje de error.

Sin embargo el uso de la función gets no es recomendable, el porque de ello (junto con alternativas) se describe en el tema |Lo que no hay que hacer en C/C++. Nivel basico|.

Un saludo


En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
AYUDA CON PROGRAMA
Diseño Gráfico
Luisango 1 3,191 Último mensaje 17 Abril 2005, 13:25 pm
por Sub_Cero
ayuda con mi programa
Programación Visual Basic
nitrox 2 2,919 Último mensaje 31 Julio 2005, 00:48 am
por Slasher-K
ayuda programa!!
Programación C/C++
rodrigo_103 4 4,449 Último mensaje 16 Septiembre 2012, 21:58 pm
por rodrigo_103
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines