send
Grupo de Telegram
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Ejercicios C

  • 4 Respuestas
  • 3014 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado /d3v/nu11

  • *
  • Underc0der
  • Mensajes: 26
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« en: Abril 08, 2015, 08:06:46 pm »
Aquí les dejo algunos ejercicios que he tenido que hacer para la uni.

1. Simular un sistema de autenticacion de usuarios.
Código: C
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <errno.h>
  5.  
  6. // Registra usuario con contraseña pwd en el fichero de
  7. // lectura/escritura apuntado por f.
  8. // Devuelve 1 si el usuario ya existe, y 0 en caso contrario.
  9. int Registro(FILE* f, char* usuario, char* pwd){
  10.     char u[50];
  11.     char p[50];
  12.     while(!You are not allowed to view links. Register or Login(f)){
  13.         You are not allowed to view links. Register or Login(f,"%s",u);
  14.         You are not allowed to view links. Register or Login(f,"%s",p);
  15.         if(You are not allowed to view links. Register or Login(u,usuario) == 0)
  16.             return 1;
  17.     }
  18.     You are not allowed to view links. Register or Login(f,"%s %s\n", usuario, pwd);
  19.     return 0;
  20. }
  21.  
  22. // Comprueba si usuario ha sido registrado con contraseña pwd en
  23. // el fichero de lectura apuntado por f.
  24. // Devuelve 1 si el usuario no existe, 2 si la contraseña es
  25. // incorrecta y 0 en caso contrario.
  26. int Autenticacion(FILE* f, char* usuario, char* pwd){
  27.     char u[50];
  28.     char p[50];
  29.     while(!You are not allowed to view links. Register or Login(f)){
  30.         You are not allowed to view links. Register or Login(f,"%s",u);
  31.         You are not allowed to view links. Register or Login(f,"%s",p);
  32.         if(You are not allowed to view links. Register or Login(u, usuario) == 0){
  33.             if (You are not allowed to view links. Register or Login(p, pwd) == 0)
  34.                 return 0;
  35.             else
  36.                 return 2;
  37.         }
  38.     }
  39.     return 1;
  40. }
  41.  
  42. void Imprime_Menu(){
  43.     You are not allowed to view links. Register or Login("Elige una opcion:\n");
  44.     You are not allowed to view links. Register or Login("1) Registro\n");
  45.     You are not allowed to view links. Register or Login("2) Autenticacion\n");
  46.     You are not allowed to view links. Register or Login("3) Salir\n");
  47. }
  48.  
  49. // Gestiona el menu, según la opción elegida por el usuario
  50. char Gestion_Menu(char opc){
  51.     Imprime_Menu();
  52.     You are not allowed to view links. Register or Login(stdin);
  53.     opc = You are not allowed to view links. Register or Login();
  54.     switch(opc){
  55.         case '1':{
  56.             FILE* f = You are not allowed to view links. Register or Login("registro.txt","r");
  57.             char user[50];
  58.             char pass[50];
  59.             if (f != NULL)
  60.                 f = You are not allowed to view links. Register or Login("registro.txt","r+");
  61.             else
  62.                 f = You are not allowed to view links. Register or Login("registro.txt","w+");
  63.             You are not allowed to view links. Register or Login("Introduce el usuario a registrar: ");
  64.             You are not allowed to view links. Register or Login("%s",user);
  65.             You are not allowed to view links. Register or Login("Introduce la contrasenya: ");
  66.             You are not allowed to view links. Register or Login("%s",pass);
  67.             if (Registro(f, user, pass) == 1)
  68.                 You are not allowed to view links. Register or Login("Error: usuario ya existente.\n");
  69.             else
  70.                 You are not allowed to view links. Register or Login("Usuario registrado correctamente.\n");
  71.             if (You are not allowed to view links. Register or Login(f) != 0)
  72.                 You are not allowed to view links. Register or Login("%s",You are not allowed to view links. Register or Login(errno));
  73.             You are not allowed to view links. Register or Login("------------------------------------------------\n");
  74.             break;
  75.         }
  76.         case '2':{
  77.             FILE* f = (You are not allowed to view links. Register or Login("registro.txt","r") == NULL)?NULL:You are not allowed to view links. Register or Login("registro.txt","r");
  78.             char user[50];
  79.             char pass[50];
  80.             if (f != NULL){
  81.                 f = You are not allowed to view links. Register or Login("registro.txt","r+");
  82.                 You are not allowed to view links. Register or Login("User: ");
  83.                 You are not allowed to view links. Register or Login("%s",user);
  84.                 You are not allowed to view links. Register or Login("Password: ");
  85.                 You are not allowed to view links. Register or Login("%s",pass);
  86.                 switch(Autenticacion(f, user, pass)){
  87.                     case 0:{
  88.                         You are not allowed to view links. Register or Login("Login correcto, entrando al sistema.\n");
  89.                         break;
  90.                     }
  91.                     case 1:{
  92.                         You are not allowed to view links. Register or Login("El usuario no existe, para registrar nuevo usuario use la opcion 1.\n");
  93.                         break;
  94.                     }
  95.                     case 2:{
  96.                         You are not allowed to view links. Register or Login("Contrasenya incorrecta.\n");
  97.                         break;
  98.                     }
  99.                     default:{
  100.                         You are not allowed to view links. Register or Login("Error de autenticacion.\n");
  101.                     }
  102.                 }
  103.             }
  104.             else
  105.                 You are not allowed to view links. Register or Login("Error: %s",You are not allowed to view links. Register or Login(errno));
  106.             if (You are not allowed to view links. Register or Login(f) != 0)
  107.                 You are not allowed to view links. Register or Login("Error: %s",You are not allowed to view links. Register or Login(errno));
  108.             You are not allowed to view links. Register or Login("------------------------------------------------\n");
  109.             break;
  110.         }
  111.         default:{
  112.             if (opc != '3') You are not allowed to view links. Register or Login("Por favor, introduce un numero del 1 al 3\n");
  113.             You are not allowed to view links. Register or Login("------------------------------------------------\n");
  114.         }
  115.     }
  116.     return opc;
  117. }
  118.  
  119. int main(){
  120.     char opcion = 0;
  121.     do{
  122.         opcion = Gestion_Menu(opcion);
  123.     }while(opcion != '3');
  124.     You are not allowed to view links. Register or Login("Saliendo...");
  125.     return 0;
  126. }
  127.  

2.Torres de Hanoi
Código: C
  1. #include <stdio.h>
  2. #include <time.h>
  3.  
  4.  
  5. int cont = 0;
  6. int Hanoi (char origen, char destino, char auxiliar, int n){
  7.     if (n > 0){
  8.         ++cont;
  9.         Hanoi(origen, auxiliar, destino, n-1);
  10.         You are not allowed to view links. Register or Login("Mueve disco de %c a %c\n", origen, destino);
  11.         for(int i=1; i<= 1000;i++);
  12.         Hanoi(auxiliar, destino, origen, n-1);
  13.     }
  14.     return cont;
  15. }
  16.  
  17. int main(){
  18.     FILE * f = You are not allowed to view links. Register or Login("Hanoi.txt", "w");
  19.     int n = 10;
  20.     for(int i=1; i<=n; i++){
  21.         long t1 = You are not allowed to view links. Register or Login();
  22.         long Nmov = Hanoi('A','B','C',i);
  23.         long t2 = You are not allowed to view links. Register or Login();
  24.         long t = t2-t1;
  25.         You are not allowed to view links. Register or Login(f,"n: %d\tt: %d\tNºmov.: %d\n",i,t,Nmov);
  26.     }
  27.     You are not allowed to view links. Register or Login(f);
  28.     return 0;
  29. }
  30.  

3. Generador del triángulo de Pascal
Código: C
  1. #include <stdio.h>
  2. #include <windows.h>
  3.  
  4. int coeficiente(int n, int k){
  5.     if(n==k || k==0)
  6.         return 1;
  7.     else
  8.         return coeficiente(n-1,k-1)+coeficiente(n-1,k);
  9. }
  10.  
  11. void triangulo(int N){
  12.         for(int n=0; n<=N; n++){
  13.             You are not allowed to view links. Register or Login("\t");
  14.         for(int k=0; k<=n; k++){
  15.             You are not allowed to view links. Register or Login(" %d",coeficiente(n,k));
  16.         }
  17.         You are not allowed to view links. Register or Login("\n");
  18.         }
  19. }
  20.  
  21. int main(){
  22.     int a;
  23.     You are not allowed to view links. Register or Login("+--------------------------------------------+\n");
  24.     You are not allowed to view links. Register or Login("| Programa generador del triangulo de Pascal |\n");
  25.     You are not allowed to view links. Register or Login("+--------------------------------------------+\n");
  26.     You are not allowed to view links. Register or Login("  Numero de filas a generar: ");
  27.     You are not allowed to view links. Register or Login("%d",&a);
  28.     You are not allowed to view links. Register or Login("-----------------------------------------------\n");
  29.     triangulo(a);
  30.     You are not allowed to view links. Register or Login("-----------------------------------------------\n");
  31.     You are not allowed to view links. Register or Login("PAUSE");
  32.         return 0;
  33. }
  34.  


Piensa por ti mismo y cuestiona a la autoridad.

Desconectado Syro96

  • *
  • Underc0der
  • Mensajes: 1
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #1 en: Abril 10, 2015, 08:25:53 am »
La verdad, me has ayudado bastante, no tenia ni idea de como hacer la practida de Entrada y Salida de datos.

Gracias tio  :)

PD: ¿Eres de la UMU? xD

Desconectado /d3v/nu11

  • *
  • Underc0der
  • Mensajes: 26
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« Respuesta #2 en: Abril 10, 2015, 04:59:28 pm »
De nada hombre estamos para ayudar y si, soy de la umu jejjejeje. Espero que si tu tambien lo eres no te limites a hacer un copy/paste.




Piensa por ti mismo y cuestiona a la autoridad.

Desconectado ñoño1

  • *
  • Underc0der
  • Mensajes: 1
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #3 en: Abril 11, 2015, 02:52:17 pm »
Buen código me he quedado con ganas de probarlo, codeblock al menos no lo coje, puedes decirme como lo compilas?

Desconectado /d3v/nu11

  • *
  • Underc0der
  • Mensajes: 26
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« Respuesta #4 en: Abril 11, 2015, 06:27:18 pm »
Para compilar uso el gcc con la opcion de compilacion automatica que usa codeblocks.


Piensa por ti mismo y cuestiona a la autoridad.

 

¿Te gustó el post? COMPARTILO!



Ejercicios basico Medio[30 EJers]

Iniciado por Jhonjhon_123

Respuestas: 6
Vistas: 6722
Último mensaje Junio 02, 2013, 11:15:03 pm
por [L]ord [R]NA
algunos ejercicios en C

Iniciado por kr0pl0its

Respuestas: 0
Vistas: 530
Último mensaje Octubre 29, 2017, 03:01:03 am
por kr0pl0its