Cita:
Iniciado por maperdel La cuestion es que no creo que puedas inicializar los campos de una estructura como el campo promin y promax.
Efectivamente Amigo, Ese era el Problema, Gracias.
Aqui esta el Programa Terminado:
Código C:
Ver original#include <stdio.h>
#include <conio2.h>
#include <windows.h>
#define s scanf
struct datos{
int n;
char temp1[25];
char temp2[25];
char temp3[25];
int temp4;
char nombre[25][100];
char cedula[25][100];
char telefono[25][100];
int edad[25];
int nota[25];
int temp5;
int salon1;
int salon2;
int salon3;
int salon4;
float prom1;
float prom2;
float prom3;
float prom4;
int promin;
int promax;
int suma;
char nombresalon1[25][100];
char nombresalon2[25][100];
char nombresalon3[25][100];
char nombresalon4[25][100];
char cedulasalon1[25][100];
char cedulasalon2[25][100];
char cedulasalon3[25][100];
char cedulasalon4[25][100];
char telefonosalon1[25][100];
char telefonosalon2[25][100];
char telefonosalon3[25][100];
char telefonosalon4[25][100];
int edadsalon1[25];
int edadsalon2[25];
int edadsalon3[25];
int edadsalon4[25];
int notasalon1[25];
int notasalon2[25];
int notasalon3[25];
int notasalon4[25];
char buscar[25];
int global;
float promedioglobal;
}d;
void reordenar(){
int i,j;
for(i=0;i<d.salon1+d.salon2+d.salon3+d.salon4-1;i++){
for(j=i+1 ; j<d.salon1+d.salon2+d.salon3+d.salon4 ; j++)
if(strcmp(d.
nombre[j
],d.
nombre[i
]<0)){ strcpy(d.
nombre[j
],d.
nombre[i
]); strcpy(d.
cedula[j
],d.
cedula[i
]); strcpy(d.
temp3,d.
telefono[j
]); strcpy(d.
telefono[j
],d.
telefono[i
]); strcpy(d.
telefono[i
],d.
temp3); d.temp4=d.edad[j];
d.edad[j]=d.edad[i];
d.edad[i]=d.temp4;
d.temp5=d.nota[j];
d.nota[j]=d.nota[i];
d.nota[i]=d.temp5;}}}
void buscar(){
int i;
printf("Que Nombre, Telefono o Cedula Desea Buscar: \n"); for(i=0 ; i<d.global ; i++){
if(strcmp(d.
buscar,d.
nombre[i
])==0 || strcmp(d.
buscar,d.
telefono[i
])==0 || strcmp(d.
buscar,d.
cedula[i
])==0){ printf("Datos Encontrados!\n"); Sleep(2000);
printf("Nombre: %s\nCedula: %s\nTelefono: %s\n Edad: %d\n", d.
nombre[i
],d.
cedula[i
],d.
telefono[i
],d.
edad[i
]); }}}
void menubuscar(){
int i,op2;
do{
printf("---Seleccione Opcion----\n"); printf("1. Mostar Lista Entera: \n"); printf("2. Mostar Lista De la primera Seccion: \n"); printf("3. Mostar Lista De la Segunda Seccion: \n"); printf("4. Mostar Lista De la Tercera Seccion: \n"); printf("5. Mostar Lista De la Cuarta Seccion: \n"); switch(op2){
case 1:{
for(i=0 ; i<d.salon1+d.salon2+d.salon3+d.salon4 ; i++){
printf("Nombre: %s\n Cedula: %s\n Telefono: %s\n Edad: %d\n Nota: %d \n---------------\n", d.
nombre[i
], d.
cedula[i
], d.
telefono[i
],d.
edad[i
],d.
nota[i
]); }}break;
case 2:{
for(i=0 ; i<d.salon1 ; i++){
printf("Nombre: %s\n Cedula: %s\n Telefono: %s\n Edad: %d\n Nota: %d \n---------------\n",d.
nombresalon1[i
],d.
cedulasalon1[i
],d.
telefonosalon1[i
],d.
edadsalon1[i
],d.
notasalon1[i
]); }}break;
case 3:{
for(i=0 ; i<d.salon2 ; i++){
printf("Nombre: %s\n Cedula: %s\n Telefono: %s\n Edad: %d\n Nota: %d \n---------------\n",d.
nombresalon2[i
],d.
cedulasalon2[i
],d.
telefonosalon2[i
],d.
edadsalon2[i
],d.
notasalon2[i
]); }}break;
case 4:{
for(i=0 ; i<d.salon3 ; i++){
printf("Nombre: %s\n Cedula: %s\n Telefono: %s\n Edad: %d\n Nota: %d \n---------------\n",d.
nombresalon3[i
],d.
cedulasalon3[i
],d.
telefonosalon3[i
],d.
edadsalon3[i
],d.
notasalon3[i
]); }}break;
case 5:{
for(i=0 ; i<d.salon4 ; i++){
printf("Nombre: %s\n Cedula: %s\n Telefono: %s\n Edad: %d\n Nota: %d \n---------------\n",d.
nombresalon4[i
],d.
cedulasalon4[i
],d.
telefonosalon4[i
],d.
edadsalon4[i
],d.
notasalon4[i
]); }}break;}}while(op2!=6);}
void menudecalificaciones(){
int i,op3;
do{
printf("---Seleccione Opcion----\n"); printf("1. Mostar Promedio Global: \n"); printf("2. Mostar Promedio De la primera Seccion: \n"); printf("3. Mostar Promedio De la Segunda Seccion: \n"); printf("4. Mostar Promedio De la Tercera Seccion: \n"); printf("5. Mostar Promedio De la Cuarta Seccion: \n"); switch(op3){
case 1:{
d.promedioglobal=d.suma/d.global;
printf("El Promedio es De: %.2f\n", d.
promedioglobal); }break;
case 2:{
d.prom1=d.prom1/d.salon1;
printf("El Promedio es De: %.2f\n", d.
prom1); }break;
case 3:{
d.prom2=d.prom2/d.salon2;
printf("El Promedio es De: %.2f\n", d.
prom2); }break;
case 4:{
d.prom3=d.prom3/d.salon3;
printf("El Promedio es De: %.2f\n", d.
prom3); }break;
case 5:{
d.prom4=d.prom4/d.salon4;
printf("El Promedio es De: %.2f\n", d.
prom4); }break;}
}while(op3!=6);}
main(){
int op,i;
textcolor(RED);
printf("Cuantos Salones hay: \n"); s("%d", &d.n);
printf("Cuantos Alumnos hay en la Primera Seccion: \n"); s("%d", &d.salon1);
for(i=0;i<d.salon1;i++){
printf("Intruduzca Nombre: \n"); s("%s", &d.nombre[i]);
strcpy(d.
nombresalon1[i
],d.
nombre[i
]); printf("Introduzca Cedula: \n"); s("%s", &d.cedula[i]);
strcpy(d.
cedulasalon1[i
],d.
cedula[i
]); printf("Introduzca Telefono: \n"); s("%s", &d.telefono[i]);
strcpy(d.
telefonosalon1[i
], d.
telefono[i
]); printf("Introduzca Edad: \n"); s("%d", &d.edad[i]);
d.edadsalon1[i]=d.edad[i];
printf("Introduzca Nota: \n\n"); s("%d", &d.nota[i]);
d.notasalon1[i]=d.nota[i];
d.suma+=d.nota[i];
d.prom1+=d.nota[i];
if(d.nota[i]>d.promax){
d.promax=d.nota[i];
}
if(d.nota[i]<d.promin){
d.promin=d.nota[i];
}}
printf("Cuantos Alumnos Hay en la Segunda Seccion: \n"); s("%d", &d.salon2);
for(i=0 ; i<d.salon2 ;i++){
printf("Intruduzca Nombre: \n"); s("%s", &d.nombre[i+d.salon1]);
strcpy(d.
nombresalon2[i
],d.
nombre[i
+d.
salon1]); printf("Introduzca Cedula: \n"); s("%s", &d.cedula[i+d.salon1]);
strcpy(d.
cedulasalon2[i
],d.
cedula[i
+d.
salon1]); printf("Introduzca Telefono: \n"); s("%s", &d.telefono[i+d.salon1]);
strcpy(d.
telefonosalon2[i
], d.
telefono[i
+d.
salon1]); printf("Introduzca Edad: \n"); s("%d", &d.edad[i+d.salon1]);
d.edadsalon2[i]=d.edad[i+d.salon1];
printf("Introduzca Nota: \n\n"); s("%d", &d.nota[i+d.salon1]);
d.notasalon2[i]=d.nota[i+d.salon1];
d.suma+=d.nota[i+d.salon1];
d.prom2+=d.nota[i+d.salon1];
if(d.nota[i+d.salon1]>d.promax){
d.promax=d.nota[i];}
if(d.nota[i+d.salon1]<d.promin){
d.promin=d.nota[i+d.salon1];
}
}
printf("Cuantos Alumnos hay en la Tercera Seccion: \n"); s("%d", &d.salon3);
for(i=0;i<d.salon3;i++){
printf("Intruduzca Nombre: \n"); s("%s", &d.nombre[i+d.salon1+d.salon2]);
strcpy(d.
nombresalon3[i
],d.
nombre[i
+d.
salon1+d.
salon2]); printf("Introduzca Cedula: \n"); s("%s", &d.cedula[i+d.salon1+d.salon2]);
strcpy(d.
cedulasalon3[i
],d.
cedula[i
+d.
salon1+d.
salon2]); printf("Introduzca Telefono: \n"); s("%s", &d.telefono[i+d.salon1+d.salon2]);
strcpy(d.
telefonosalon3[i
], d.
telefono[i
+d.
salon1+d.
salon2]); printf("Introduzca Edad: \n"); s("%d", &d.edad[i+d.salon1+d.salon2]);
d.edadsalon3[i]=d.edad[i+d.salon1+d.salon2];
printf("Introduzca Nota: \n\n"); s("%d", &d.nota[i+d.salon1+d.salon2]);
d.notasalon3[i]=d.nota[i+d.salon1+d.salon2];
d.suma+=d.nota[i+d.salon1+d.salon2];
d.prom3+=d.nota[i+d.salon1+d.salon2];
if(d.nota[i+d.salon1+d.salon2]>d.promax){
d.promax=d.nota[i+d.salon1+d.salon2];}
if(d.nota[i+d.salon1+d.salon2]<d.promin){
d.promin=d.nota[i+d.salon1+d.salon2];
}}
printf("Cuantos Alumnos hay en la Cuarta Seccion: \n"); s("%d", &d.salon4);
for(i=0;i<d.salon4;i++){
printf("Intruduzca Nombre: \n"); s("%s", &d.nombre[i+d.salon1+d.salon2+d.salon3]);
strcpy(d.
nombresalon4[i
],d.
nombre[i
+d.
salon1+d.
salon2+d.
salon3]); printf("Introduzca Cedula: \n"); s("%s", &d.cedula[i+d.salon1+d.salon2+d.salon3]);
strcpy(d.
cedulasalon4[i
],d.
cedula[i
+d.
salon1+d.
salon2+d.
salon3]); printf("Introduzca Telefono: \n"); s("%s", &d.telefono[i+d.salon1+d.salon2+d.salon3]);
strcpy(d.
telefonosalon4[i
],d.
telefono[i
+d.
salon1+d.
salon2+d.
salon3]); printf("Introduzca Edad: \n"); s("%d", &d.edad[i+d.salon1+d.salon2+d.salon3]);
d.edadsalon4[i]=d.edad[i+d.salon1+d.salon2+d.salon3];
printf("Introduzca Nota: \n\n"); s("%d", &d.nota[i+d.salon1+d.salon2+d.salon3]);
d.notasalon4[i]=d.nota[i+d.salon1+d.salon2+d.salon3];
d.suma+=d.nota[i+d.salon1+d.salon2+d.salon3];
d.prom4+=d.nota[i+d.salon1+d.salon2+d.salon3];
if(d.nota[i+d.salon1+d.salon2+d.salon3]>d.promax){
d.promax=d.nota[i+d.salon1+d.salon2+d.salon3];}
if(d.nota[i+d.salon1+d.salon2+d.salon3]<d.promin){
d.promin=d.nota[i+d.salon1+d.salon2+d.salon3];
}}
d.global=d.salon1+d.salon2+d.salon3+d.salon4;
do{
printf("---Bienvenido Al Menu Administrativo-----\n\n"); printf("Que desea Hacer: \n"); printf("1. Menu Administrativo: \n"); printf("2. Menu De Calificaciones: \n"); printf("3. Busqueda de Personas: \n"); switch(op){
case 1:{
menubuscar();
}
case 2:{
menudecalificaciones();
}
case 3:{
buscar();}
}
}while(op!=4);}