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ú

Mensajes - neron991

#1
Otra duda para colocar contraseña al programa es asi:


char contra='abc123';
   char clave;
printf ("\nIngrese la contraseña: ");
    scanf ("%s",&clave);
    if (clave == contra)



pero al querer compilar me sale dos warning en el char contra='abc123';;
y al ejecutar el programa no me agarra la clave me salen estos dos warning:

27 21 C:\Users\ronald\Desktop\Sin Nombre1.c [Warning] character constant too long for its type
27 21 C:\Users\ronald\Desktop\Sin Nombre1.c [Warning] overflow in implicit constant conversion [-Woverflow]
#2
Cita de: nonpromisc en  9 Julio 2015, 00:50 AM
No es complicado, es largo de hacer sobretodo con ficheros. Mañana lo tendré terminado, si quieres te paso el codigo con comentarios y tal, no me importa que lo uses para aprobar, te veo con ganas de aprender y además, no me importa compartir mi conocimiento, aunque sea poco, con los demas.

gracias, si es muy largo T_T ya estoy tratando de hacer el case 2 gracias por tu ayuda me sirvio la parte que me pasaste y estoy completando lo otro, si quiero aprender lo que pasa es que fue mucha irresponsabilidad mia que deje esto para ultima hora ._., gracias muchas gracias!!
#3
Cita de: nonpromisc en  9 Julio 2015, 00:06 AM
Yo lo haría con ficheros binarios y así puedes guardar el registro y no trabajas con la memoria, así no introducirás los datos todo el rato. Usa las funciones fread y fwrite. Te costará más, pero seguro que te aprueban jeje. EJEMPLO:

#include <stdio.h>
#include <string.h>

int main(){
FILE *fd;
int edadLeida;
char nomLeido[100];
char dniLeido[15];
struct TBinario
{
int edad;
char nom[100];
char dni[15];
}persona[10];

persona[0].edad=20;
strcpy(persona[0].nom,"Borja");
strcpy(persona[0].dni,"454887965U");

fd=fopen("datosbin.dat","wb+");
//fwrite (direcc_dato, tamaño_dato, numero_datos, punt_fichero);
fwrite(&persona[0].edad,sizeof(int),1,fd);
fwrite(&persona[0].nom,sizeof(char)*100,1,fd);
fwrite(&persona[0].dni,sizeof(char)*15,1,fd);
fclose(fd);

//fread (direcc_dato, tamaño_dato, numero_datos,punt_fichero);
fd=fopen("datosbin.dat","rb+");
fread(&edadLeida, sizeof(int),1,fd);
fread(&nomLeido, sizeof(char)*100,1,fd);
fread(&dniLeido, sizeof(char)*15,1,fd);

printf("\nLa edad leída es: %d y el nombre: %s y el DNI: %s\n",edadLeida,nomLeido,dniLeido);

fclose(fd);
return 0;

}


lo que pasa es que la profesora guardara todo cuando el programa este en ejecucion, si no usaria eso xD pero es algo complicado este programa que nos mando ._.'
#4
wuao ._: esa parte se me paso por alto, no sabia ese pequeño detalle xD, otro detalle es que al buscar el nombre al querer usar esa opcion se me sale del programa D: al querer comparar con los otros nombres..
#5
C:\Users\ronald\Desktop\Sin Nombre1.c In function 'main':
50 16 C:\Users\ronald\Desktop\Sin Nombre1.c [Warning] passing argument 1 of 'fgets' makes pointer from integer without a cast
1 0 C:\Users\ronald\Desktop\Sin Nombre1.c In file included from C:\Users\ronald\Desktop\Sin Nombre1.c
442 17 C:\Program Files (x86)\Dev-Cpp\MinGW64\x86_64-w64-mingw32\include\stdio.h [Note] expected 'char * __restrict__' but argument is of type 'int'
52 16 C:\Users\ronald\Desktop\Sin Nombre1.c [Warning] passing argument 1 of 'fgets' makes pointer from integer without a cast
1 0 C:\Users\ronald\Desktop\Sin Nombre1.c In file included from C:\Users\ronald\Desktop\Sin Nombre1.c
442 17 C:\Program Files (x86)\Dev-Cpp\MinGW64\x86_64-w64-mingw32\include\stdio.h [Note] expected 'char * __restrict__' but argument is of type 'char'


esos!!
#6
Hola de nuevo aqui pidiendo ayuda con el siguiente enunciado:

En una escuela se almacena informacion sobre los alumnos, este se almacena en un arreglo unidimensional de registros, por cada alumno se almacena la siguiente informacion: cedula, nombre, sexo, edad, carrera, semestre, calificacion_promedio; por materia se almacena: codigo, nombre_materia, unidad de credito y calificacion. (cada alumno solo puede cursar 4 materias). Realice un programa en C que:

A)Listado General.
B) Liste todos los alumnos mostrando el nombre de las materias que cursa.
C)Muestre la cantidad de alumnos reprobados, y liste los datos personales de cada alumno.
D) Muestre la cantidad de alumno que hayan inscrito una amteria especifica.

esto es lo que llevo hasta ahora, corre pero me tira unos warning y algunas incoherencias, no tengo idea como empezar lo demas para poder terminar el codigo si me pudieran ayudar con  este les agradeceria mucho T_T:


Código (cpp) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
#define tam 2
struct alumno {
    char nombre[30];
    char cedula [13];
char carrera [30];
char semestre[13];
char sexo[13];
};

struct materias{
int codigo;
char materia[30];
int unidaddecredito;
int calificacion;
};

  struct alumnos
  {
  struct alumno datos;
  struct materias mis_materias;
  };
 
  struct alumnos escuela;
 
int main()
{
   
    int i,opcion=1;
    float sum=0,cont=0,peor;
   

    for (i=0;i<tam;i++)
    {
    printf ("\n\t\tDatos de los alumnos. ");
        printf("\nIntroduzca nombre alumno: ");
        fgets(escuela.datos.nombre,30,stdin);
        fgets(escuela.datos.nombre,30,stdin);
        printf("Introduzca Cedula del alumno V-.");
        fgets(escuela.datos.cedula,13,stdin);
        printf("Introduzca Sexo: ");
        fgets(escuela.datos.sexo,13,stdin);
        printf("Introduzca la Carrera que cursa el alumno: ");
        fgets(escuela.datos.carrera,30,stdin);
        printf("Introduzca Semestre del alumno: ");
        fgets(escuela.datos.semestre,30,stdin);
       
        printf ("\t\tINFORMACION DE MATERIAS: \n");
       
        for (i=0;i<4;i++)
    {

        printf("Introduzca Codigo: ");
        scanf ("%d",&escuela.mis_materias.codigo,tam,stdin);
        printf("Introduzca nombre de la materia: ");
        scanf ("%s",escuela.mis_materias.materia);
        printf("Introduzca unidad de credito ");
        scanf ("%d",&escuela.mis_materias.unidaddecredito);
        printf("Introduzca nota: ");
        scanf("%d",&escuela.mis_materias.calificacion);
    }
}
   
    while ((opcion==1 || opcion==2 || opcion==3) || (opcion!=4))
    {
   
        printf("1- Buscar un alumno\n");
        printf("2- Media de todas las notas\n");
        printf("3- Alumno con peores notas\n");
        printf("4- Salir\n");
        printf("Introduzca una opción: ");
        scanf("%d",&opcion);
        switch (opcion)
         {
          case 1:
         
          printf("Introduzca un nombre: ");
             scanf ("%d",&escuela.datos.nombre);
           for(i = 0; i < tam;i++)
           {
             if (strcmp(escuela.datos.nombre[i],escuela.datos.nombre)==0)
             {
               printf("\nNombre: %s\n",escuela.datos.nombre[i]);
               printf("Nota: %d\n",escuela.mis_materias.calificacion);
               printf("\nCedula: %s\n",escuela.datos.cedula);
               printf("\nSexo: %s\n",escuela.datos.sexo);
               printf("\nCarrera: %s\n",escuela.datos.carrera);
               printf("\nSemestre: %s\n",escuela.datos.semestre);
             }
         }
       
           printf("\n\n");
           break;
        }
   
}
   while (getchar()!='\n');     
    return 0;
}
#7
Que tal todos? vengo con este programa sin terminar x_D en lenguaje c es sobre Registros, se como pedir los datos pero una vez ejecutado el programa como haria para que se muestre los registros y que el usuario haga una busqueda del registro deseado, esto es lo que llevo hasta ahora:

#include <stdio.h>
#include <string.h>
#define elementos 3

struct estructura_amigo
{
char cedula [13];
char nombre [30];
char apellido [30];
char telefono [13];
int ano;
float peso;

};
struct estructura_amigo amigo[elementos];

int main()
{
int i;
for (i=0; i< elementos; i++)
{
printf ("\tDatos del mismo numero %d: \n",i+1);
printf ("\t\tIngrese el numero de cedula: ");
fgets (amigo[i].cedula,13,stdin);
printf ("\t\tIngrese el nombre: ");
fgets (amigo[i].nombre,13,stdin);
printf ("\t\tIngrese el apellido: ");
fgets (amigo[i].apellido,13,stdin);
printf ("\t\tIngrese el telefono: ");
fgets (amigo[i].telefono,13,stdin);

}
printf ("Registros:\n ");
for (i=0;i<=3;i++)
{
printf ("\nNombre %s",amigo[i].nombre);
}

while (getchar()!='\n');

return 0;
}
#8
Gracias hermano me sirvió!! Eres el amo :o :o
#9
Ejemplo: tenemos el caso de que la matriz sea tres por tres

1   2   3
2   4   2
1   3   1

y se requiera sumar todo por encima de la diagonal principal de esa matriz que en este caso vendria siendo 2 3 y 2, pero el detalle esta en que el programa me suma es la diagonal principal que seria 2 y 2 en vez de toda la diagonal principal que comprende el 2 3 y 2, no se si me entiendas xD  :-\ :-\
#10
Gracias, ahora mi ultima duda esta en el case 3 de la suma por encima de la diagonal, me di cuenta que tampoco me da el resultado esperado he intentado todo colocar == tambien < y nada que me suma los numeros por encima de la diagonal principal, eso seria todo xD