Autor
|
Tema: Funcion que muestre aciertos y porcentaje (Leído 2,161 veces)
|
Dumy
Desconectado
Mensajes: 24
|
Hola de nuevo,
tengo este codigo:
int porcentaje_aciertos() {
int f,aciertos,valordelarreglo,valordelotroarreglo, num, porcentaje, numeros_introducidos, arrayjugador;
aciertos = 0;
for(f = 0; f < num; f++) {
valordelarreglo = numeros_introducidos[f], valordelotroarreglo = arrayjugador[f];
if(valordelarreglo == valordelotroarreglo) {
aciertos +=1;
}
} porcentaje = (aciertos / num) * 100;
printf("Has acertado %d de: %d", aciertos,num); printf("Es el %d porciento",porcentaje); }
que deberia mostrar aciertos y porcentajes, pero me da un error en la linia de: valordelarreglo = numeros_introducidos[f], valordelotroarreglo = arrayjugador ¿ALguien puede decirme por que me dice que no es puntero ni array?
|
|
|
En línea
|
|
|
|
MAFUS
Desconectado
Mensajes: 1.603
|
arrayjugador y numeros_introducidos son escalares, no arreglos.
Creo que entiendo lo que quieres hacer, pero sería más fácil si dieras el enunciado del problema.
|
|
|
En línea
|
|
|
|
Dumy
Desconectado
Mensajes: 24
|
Codificar una aplicación en C que inicialmente generará una cantidad aleatoria de números no inferior a 5 ni superior a 10. Los números generados aleatoriamente podrán ser únicamente el 1, 2, 3 o el 4 y se almacenarán en un array. Una vez guardados la aplicación indicará cuantos se han generado. En la captura como ves, se ve que se han generado y guardado 6 números enteros, que recordamos únicamente pueden ser valores enteros comprendidos entre el 1 y el 4:
31 Seguidamente empieza el turno del jugador. Se pedirá ahora al usuario la introducción de tantos números enteros comprendidos entre el 1 y el 4, como se hayan generado en el paso anterior:
32 Fíjate que se va indicando que número se está introduciendo, el primero, segundo… y que, por otro lado tal como se aprecia en la siguiente captura, en la cuarta introducción, en la que se introduce dos veces un número no comprendido entre el 1 y el 4, la aplicación pide por tanto la introducción de éste, hasta que se cumpla con lo especificado:
33 Una vez introducidos correctamente por el usuario todos los números, la aplicación indica cuantos se han acertado respecto a los generados aleatoriamente, y el porcentaje de acierto que se ha tenido:
34 En el siguiente paso se indica cuales, y en que posición se encuentran, los que se hayan acertado, y lo mismo seguidamente para los que se hayan fallado:
35
Finalmente se hace un resumen impreso de todas las posiciones de los dos arrays indicando, tanto lo generado, como lo introducido, como si lo introducido ha sido acertado o no:
36
Este es el codigo como lo tengo, lo que desconozco son los errores logicos que no lo hacen funcionar:
#include<stdio.h> #include<stdlib.h> #include<conio.h> #include<time.h> #include<stdbool.h>
int numerosueuario () {
int num3; printf("Introruce %d numeros del 1 y al 4: ",num3); scanf("%d",&num3); }
int rango_numero () {
int num, num3, f; int contador =0; int min = 1; int max = 4;
while (contador <=10) {
int i = 1; int *arrayjugador; arrayjugador = (int *)malloc(i*sizeof(int)); free (arrayjugador); bool rango;
printf("introduce un numero del 1 al 4: "); scanf("%d",&num3);
if((num3 >= min)&&(num3<=max)) {
rango = true;
if (rango == true) {
for(f=0; f<=10; f++) { scanf("%d",&arrayjugador[f]); } }
contador+=1;
} else { printf("Introduce un numeto del 1 al 4"); scanf("%d",&num3); }
}
}
int mostrar_numeros_introducidos_ () {
int f, num; int *numeros_introducidos; int i = 1; numeros_introducidos = (int *)malloc(i* sizeof(int)); free (numeros_introducidos);
printf("Introduce un numero: "); scanf("%d",&numeros_introducidos[1]); printf("Introduce un numero: "); scanf("%d",&numeros_introducidos[2]); printf("Introduce un numero: "); scanf("%d",&numeros_introducidos[3]); printf("Introduce un numero: "); scanf("%d",&numeros_introducidos[4]); printf("Introduce un numero: "); scanf("%d",&numeros_introducidos[5]); printf("Introduce un numero: "); scanf("%d",&numeros_introducidos[6]); printf("Introduce un numero: "); scanf("%d",&numeros_introducidos[7]); printf("Introduce un numero: "); scanf("%d",&numeros_introducidos[8]); printf("Introduce un numero: "); scanf("%d",&numeros_introducidos[9]); printf("Introduce un numero: "); scanf("%d",&numeros_introducidos[10]);
for(f=0; f<=10; f++) {
printf("Ha introducido el numero: %d en la posición %d",numeros_introducidos[1],f); }
}
int pedir_numero_correcto () {
int w,numero, posicion; bool correcto;
posicion = 0; correcto = false;
while (posicion <=10) {
printf("Introduce un numero del 1 al 4: "); scanf("%d",&numero);
if(numero<=4) {
correcto = true;
if (correcto == true) {
posicion +=1;
printf("Introduce el numero del 1 al 4,numero : %d",posicion);
} else {
posicion = posicion; printf("Introduce el numero del 1 al 4,numero : %d",posicion);
}
}
}
}
int porcentaje_aciertos () {
int f,aciertos,uno,dos, num, porcentaje, numeros_introducidos[num], arrayjugador[num];
aciertos = 0;
for(f = 0; f < num; f++) {
uno = numeros_introducidos[f], dos = arrayjugador[f];
if(uno == dos) {
aciertos +=1;
}
}
porcentaje = (aciertos / num) * 100;
printf("Has acertado %d de: %d", aciertos,num); printf("Es el %d porciento",porcentaje); }
int main (void) {
int num,f; int min = 5; int max =10;
srand(time(NULL));
num =rand ()%(max - min + 1) + 5;
int numerosaleatorios[num];
for(f=0; f<=num; f++) { numerosaleatorios[f] =rand()%4+1; }
printf("se han generado: %d numeros aleatorios",num);
//llamamos a las funciones de pedir numeros:
int numerosueuario ();
int rango_numero ();
int mostrar_numeros_introducidos_ ();
int pedir_numero_correcto ();
int porcentaje_aciertos ();
}
|
|
« Última modificación: 4 Noviembre 2023, 23:57 pm por Dumy »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Comprobar nº aciertos en una quiniela reducida de 7 dobles C#
Ejercicios
|
elnorber
|
0
|
10,823
|
18 Marzo 2011, 18:44 pm
por elnorber
|
|
|
Script que muestre imagen si host responde,o que muestre otra si esta off
Scripting
|
Anonymous250
|
3
|
3,636
|
9 Diciembre 2011, 12:53 pm
por Novlucker
|
|
|
Los aciertos, los errores y las amenazas que se ciernen sobre la Web en su ....
Noticias
|
wolfbcn
|
0
|
898
|
12 Marzo 2019, 21:48 pm
por wolfbcn
|
|
|
Tres aciertos y un error de la nueva Telefónica de 2020
Noticias
|
wolfbcn
|
0
|
1,230
|
9 Diciembre 2019, 14:08 pm
por wolfbcn
|
|
|
porcentaje c#
.NET (C#, VB.NET, ASP)
|
toyeslomao
|
3
|
2,912
|
2 Mayo 2020, 06:35 am
por xskyx
|
|