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ú

Temas - diegoalberto_garcia95

#1
buenas tardes/dias/noches amigos, veran tengo un problema , ya lo he buscado en google , y tambien en mi manual escolar de programacion pero no logro encontrar que es lo que esta mal, lo que pasa es que en el programa mencionado despues de realizar todos los procesos que estan dentro del do , al ponerle que los repita usando while, el printf que dice " ingrese nombre del maestro" solo funciona la primera vez que el programa es ejecutado, ya cuando se le indica que se quiere repetir el proceso no me aparece para ingresar dicho "nombre del maestro" y se queda guardado el que use anteriormente,incluso en lugar de usar "ifs" volvi a realizar el programa usando "switch" y me seguia ocurriendo lo mismo,les dejo el codigo a continuacion para ver si me podrian hechar una mano, gracias de antemano

#include<stdio.h>
#include<math.h>
#include<conio.h>
#include<windows.h>
main()
{
int niv,i,c,u,d,t,ct;
char nom[30];  
float si,sf ;
i=0;
c=0;
u=0;
d=0;
t=0;
ct=0;
system ("cls");
do
{
       system("cls");
    c++;
    printf("nombre del maestro: ");
    scanf("%[^\n]",nom);
    gets(nom);
    printf("ingrese salario inicial: ");
    scanf("%f",&si);
    printf("ingrese nivel (1,2,3,4) ");
    scanf("%d",&niv);
    if(niv==1)
    {
     sf=si*1.035;
     u++;
    }
     else
     {
     if (niv==2)
     {
       sf=si*1.041;
       d++;
     }
     else
     {
     if (niv==3)
     {
        sf=si*1.048;
        t++;
        }
       
     else      
     {
     
           if (niv==4)
            {
       sf=si*1.053;
         ct++;
         }
         else
         {
         }
         }
         }
         }
         
       
         printf("\n el salario final del maestro %ld sera de:  %.2f",nom,sf);
         printf("\n desea repetir el proceso? 1. si 2. no");
         scanf("%d",&i);
         
         }
         
           while(i==1);
            printf("\n el numero de maestros analizados es de: %d",c);
         printf("\n el numero de maestros con nivel uno es de: %d",u);
          printf("\n el numero de maestros con nivel dos es de: %d",d);
           printf("\n el numero de maestros con nivel tres es de: %d",t);
           printf("\n el numero de maestros con nivel cuatro es de: %d",ct);
     getche();
              }