elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ayuda con ciclo while!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda con ciclo while!  (Leído 3,103 veces)
el1000erroresxd

Desconectado Desconectado

Mensajes: 5


Ver Perfil
ayuda con ciclo while!
« en: 5 Junio 2016, 01:20 am »

hola disculpen v: algun buen samaritano que me ayude, tengo este codigo que es para calcular el salario de un empleado segun las horas trabajadas y la cuota por hora pero si revaza  las 40 horas se pagan horas dobles :,v

error: el error es que cuando me pide si quiero "DESEA CALCULAR EL SUELDO DE UN EMPLEADO (s/n)?" selecciono s (que deberia significar si) y no sucede nada, y si presiono n (que se supone que saldria del programa) me lo ejecuta pero no me respeta el system ("cls!); porfavor alguien que me ayude a correguirlo :,v lo agradeceria  :D :silbar:


IMAGENES DE LOS ERRORES

si presiono s (si)
si presiono n (no)



y aqui el codigo enfermo  :o

Código:
/*
*PROGRAMACION ESTRUCTURADA
*AUTOR: MENDEZ ACOSTA SEBASTIAN
*GRUPO: 2ABM
*TURNO: MATUTINO
*PRACTICA: SALARIO doble
*NO. 19.2
FECHA: 03/06/2016
*/

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

 int main(int argc, char** argv)
//INICIO
{
//DECLARACION DE VARIABLES
char nombre[35];
int hrsTrab;
float cuotaHr, sueldosencillo, sueldodoble;
char regreso ;

//LIMPIAR PANTALLA
//clrscr();
       printf("\n°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°");
  printf("\nDESEA CALCULAR EL SUELDO DE UN EMPLEADO (s/n)?");
  scanf("%s",&regreso);
 
 
 while (regreso == 's' || regreso =='S' || regreso == 'SI' || regreso == 'Si' || regreso == 'si');
 {

//TITULO
printf("\t\t***********************************************");
printf("\n\t\tPROGRAMA PARA CALCULAR EL SUELDO DE UN EMPLEADO");
printf("\n\t\t***********************************************");

//INTRODUCIR DATOS
printf("\n\n\nNOMBRE DEL EMPLEADO: ");
//LEER DATOS
scanf("%s",&nombre);
//INTRODUCIR DATOS
printf("NUMERO DE HORAS TRABAJADAS: ");
//LEER DATOS
scanf("%i",&hrsTrab);
//INTRODUCIR DATOS
printf("introduzca LA CUOTA POR HORA: ");
//LEER DATOS
scanf("%f",&cuotaHr);

//CALCULAR UTILIZANDO IF
    if(hrsTrab<=40)
    {
      sueldosencillo=hrsTrab*cuotaHr;          
      //SE MANDA A IMPRIMIR EL SUELDO SENCILLO
      printf("\n|--------------------------------------| ");
      printf("\n|         SUELDO SENCILLO              | ");
      printf("\n|--------------------------------------| ");
      printf("\n|EL NOMBRE DEL EMPLEADO ES: %s         |",nombre);
      printf("\n|--------------------------------------| ");
 printf("\n|EL SUELDO DEL EMPLEADO ES: %0.2f      |",sueldosencillo);
 printf("\n|--------------------------------------| ");
 printf("\n\nGRACIAS POR EJECUTAR EL PROGRAMA :) ");
    }
     //CALCULAR UTILIZANDO IF
    else
    {
      sueldodoble=(40*cuotaHr)+((hrsTrab-40)*(cuotaHr*2));  
      //SE MANDA A IMPRIMIR EL SUELDO DOBLE
      printf("\n ______________________________________ ");
      printf("\n|         SUELDO DOBLE                 | ");
      printf("\n|______________________________________| ");
      printf("\n|EL NOMBRE DEL EMPLEADO ES: %s      |",nombre);
      printf("\n|______________________________________| ");
 printf("\n|EL SUELDO DEL EMPLEADO ES: %0.2f    |",sueldodoble);
      printf("\n|______________________________________| ");
      printf("\n\nGRACIAS POR EJECUTAR EL PROGRAMA :) ");
    }
    printf ("\nDESEA CALCULAR EL SUELDO DE OTRO EMPLEADO?");
    scanf ("%s" ,&regreso);
    
    
}


    
system("cls");
     system ("color F0" );
    printf("\n°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°");                                  
printf("\n°      PROGRAMACION ESTRUCTURADA       °");
printf("\n°    AUTOR: MENDEZ ACOSTA SEBASTIAN    °");
printf("\n°             GRUPO: 2ABM              °");
printf("\n°           TURNO: MATUTINO            °");
printf("\n°     PRACTICA: SALARIO SENCILLO/WHILE °");
printf("\n°               NO. 19.2               °");
printf("\n°           FECHA: 03/06/2016          °");
printf("\n°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°");
    getchar ();

getch();
return 0;

}


« Última modificación: 5 Junio 2016, 01:34 am por el1000erroresxd » En línea

HardForo

Desconectado Desconectado

Mensajes: 219


HardForo.com


Ver Perfil WWW
Re: ayuda con ciclo while!
« Respuesta #1 en: 5 Junio 2016, 01:24 am »

Hay cosas sin sentido como: regreso == 'SI' || regreso == 'Si' || regreso == 'si' (siendo que regreso es un char)


En línea

HardForo:  foro de Hardware y programación

Se buscan Mods y colaboradores *
el1000erroresxd

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: ayuda con ciclo while!
« Respuesta #2 en: 5 Junio 2016, 01:26 am »

Hay cosas sin sentido como: regreso == 'SI' || regreso == 'Si' || regreso == 'si' (siendo que regreso es un char)


ya lo corregui lo deje asi
Código:
while (regreso == 's' );
pero aun asi no va  :-X
En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.705


🏴 Libertad!!!!!


Ver Perfil WWW
Re: ayuda con ciclo while!
« Respuesta #3 en: 5 Junio 2016, 03:37 am »

Pides ayuda pero aun asi no lees en post anterior te conteste.

[
La variable regreso es carácter  no Cadena nunca va a ser igual a "si", ademas no se pueden comparar cadenas con == se necesita strcmp o strncmp.

Se tiene que leer la cadena con fgets.

Código
  1. char regreso[10];
  2. ///...
  3.  fgets(regreso,10,stdin);
  4. }while(strncmp(regreso,"si",2)==0);



Tu código

Código
  1. scanf ("%s" ,&regreso);

No va a funcionar por que regreso es caracter y no una cadena
« Última modificación: 5 Junio 2016, 03:40 am por AlbertoBSD » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con un ciclo
Java
xAgramonx 3 3,364 Último mensaje 25 Noviembre 2010, 19:30 pm
por xAgramonx
Ayuda con ciclo for C++ « 1 2 »
Programación C/C++
andrex.125 12 5,640 Último mensaje 11 Mayo 2013, 07:38 am
por andrex.125
Ayuda en ensamblador, no sale del ciclo
ASM
Juan Martinez 3 5,479 Último mensaje 16 Mayo 2017, 02:18 am
por Serapis
Ayuda con ciclo en C
Programación C/C++
Diego Perez 1 1,797 Último mensaje 20 Mayo 2017, 18:18 pm
por engel lex
ayuda con ciclo for
Programación C/C++
jorpoke 1 1,724 Último mensaje 3 Marzo 2018, 03:40 am
por Kenji-chan
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines