[ Foro de C++ ]
#include <stdio.h>
#include <cstdio>
#include <cstring>
#define dim 10
#define n 4
using namespace std;
struct alumno{
long int cedula;
char nombre[dim];
int edad;
double grade;
};//es solo el dienio
struct materia{
int codigo;
char nombre[dim];
float notas[n];// areglo de 4 posiciones
//tres primeras notas y promedio
};
struct matricula{
int codigo;
alumno dat_alumno;
materia dat_materia;
double valor;//aregle
};
matricula ingreso(matricula x){
x.codigo=345;//deben ser generados
printf("\ningrese su cedula");
scanf("%ld",&x.dat_alumno.cedula);
fflush(stdin);
printf("\ningrese su nombre");
gets(x.dat_alumno.nombre);
printf("\ningrese edad");
scanf("%d",&x.dat_alumno.edad);
x.dat_materia.codigo=754;
printf("\ningrese la materia");
gets(x.dat_materia.nombre);
for(int i=0;i<n-1;i++)
{
printf("ingrese la nota[%d",i+1);
printf("\n");
scanf("%f",&x.dat_materia.notas[i]);
}
x.valor=25*6;
return (x);
}
void imprimir(matricula x){
printf("\ncodigo de matricula:&d",x.codigo);
printf("\ncedula:%ld",x.dat_alumno.cedula);
printf("\nnombre:%s",x.dat_alumno.nombre);
printf("\nedad:%d",x.dat_alumno.edad);
printf("\ncodigo de la materia:%d",x.dat_materia.codigo);
printf("\nnombre materia:%s",x.dat_materia.nombre);
for(int i=0;i<n-1;i++)
printf("\nnota[%d]:,%f",i+1,x.dat_materia.notas[i]);
printf("\n");
printf("\npromedio:%f",x.dat_materia.notas[3]);
printf("\n");
printf("\nvalor a pagarse:%lf",x.valor);
}
void promedio(float x[n]){
printf("\n");
x[3]=((x[0]+x[1]+x[2]/3));
{
}
}
int main()
{
matricula e;//variable tipo matricula
printf("\n");
//ingreso de datos
e=ingreso(e);//matricula
printf("\n");
promedio(e.dat_materia.notas);//se lleva el arreglonota
printf("\n");
imprimir(e);
}
long int ingreso(long int cedula){//??
printf("Ingrese su cedula: ");
scanf("%ld",&cedula);//171616161
return(cedula);
}
int validar_cedula(long int cedula){
int A[dim],i,res,sumapares=0,sumaimpares=0,sumatotal,mul;
long int coc;
i=9;
do{
coc=cedula/10;
res=cedula%10;
A[i]=res;
i--;
cedula=coc;
}while(coc!=0);
for(int j=0;j<dim;j+=2){
mul=A[j]*2;
if(mul>9)
mul-=9;
sumapares+=mul;
}
for(int j=1;j<dim-1;j+=2)
sumaimpares+=A[j];
sumatotal=sumapares+sumaimpares;
res=10-(sumatotal%10);
if (res==10)
res=0;
if(res==A[9])
return(1);
else
return(0);
}
void imprimir(int v){
if (v==1)
printf("Cedula valida");
else
printf("Cedula no valida");
}
int main()
{
long int c;
int z;
c=ingreso(c);
z=validar_cedula(c);
imprimir(z);
const char *validProvinces[] = {
"",
"azuay",
"bolivar",
"cañar",
"carchi",
"chimborazo",
"cotopaxi",
"el oro",
"esmeraldas",
"galapagos",
"guayas",
"imbabura",
"loja",
"los rios",
"manabi",
"morona santiago",
"napo",
"orellana",
"pastaza",
"prichincha",
"santa elena",
"santo domingo",
"sucumbios",
"tungurahua",
"zamora chimchipe",
};
const int numValidProvinces = sizeof(validProvinces) / sizeof(validProvinces[0]);
void validateProvince(const char *province) {
for (int i = 0; i < numValidProvinces; i++) {
if (strcmp(province, validProvinces[i]) == 0) {
return true;
}
}
return false;
}
int main() {
char province[20];
printf("Enter province: ");
scanf("%s", province);
if (validateProvince(province)) {
printf("Valid province\n");
} else
printf("Invalid province\n");
{
}
int main() {
double grade;
printf("Enter a grade: ");
scanf("%lf", &grade);
if (grade >= 0 && grade <= 20) {
printf("Valid grade\n");
} else {
printf("Invalid grade\n");
}
return 0;
}
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)