-
Posts
4 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por CadeOLink
-
-
38 minutos atrás, devair1010 disse:
@CadeOLink aqui está certo veja:
o v[12] está errado mesmo , por que não existe essa posição nesse vetor , assim ele mostra hum valor desconhecido ,
Então o problema seja no meu compilador.
Uso um compilador online: https://www.onlinegdb.com/
1 hora atrás, devair1010 disse:vtemp[whl-1]++; // aqui hum erro , } // whl valendo zero e menos um system("clear||cls"); // vai valer -1 , e não tem essa posição do vetor
Não há erro porque assim que ele digitar 1 vai ser 1-1 = 0 que esse zero vai entrar no v[0] justo a numeração do item 1
- 1
-
9 minutos atrás, devair1010 disse:
@CadeOLink vi dois errinhos e os números do vetor estão certos , aqui :
#include <stdio.h> #include <stdlib.h> #include <iomanip> #include <string.h> #include <Windows.h> void pedidos( int v[], int ); int main() { //Variaveis int vtemp[12] = {0}, vresul[12] = {0}; int Ncomandas; int whl = 0,x,cont; /*for( x=0; x!=13; x++) { vtemp[x] = 0; vresul[x] = 0; }*/ //Quantia de comandas printf("Inseria a quantia de comandas: "); scanf("%i",&Ncomandas); for( cont=0; cont<Ncomandas; cont++) { whl = 0; system("clear||cls"); pedidos(vtemp,cont); while(whl != 20) { printf("Digite '20' para finalizar a comanda"); printf("\nDigite o item:"); scanf("%i",&whl); if(whl<0) { whl *= -1; vtemp[whl-1]--; } else { vtemp[whl-1]++; // aqui hum erro , } // whl valendo zero e menos um system("clear||cls"); // vai valer -1 , e não tem essa posição do vetor pedidos(vtemp,cont); /*for(int x=0; x!=13; x++){ printf("vetor[%i]=%i\n",x,vtemp[x]); printf("vetorRes[%i]=%i\n",x,vresul[x]); }*/ } for( x=0; x<13; x++) { vresul[x] += vtemp[x]; vtemp[x] = 0; } } system("clear||cls"); printf("vetor Vresul\n->"); pedidos(vresul,0); /*for(int x=0; x!=13; x++){ printf("vetor[%i]=%i\n",x,vtemp[x]); printf("vetorRes[%i]=%i\n",x,vresul[x]); }*/ return 0; } void pedidos(int v[], int cont) { printf("===========================================\n"); printf("| n=%i Pedidos\t\t\t |\n", cont + 1 ); printf("===========================================\n"); printf(" 1.File --------------= %i\n", v[ 0] ); printf(" 2.Coracao -----------= %i\n", v[ 1] ); printf(" 3.Cupim -------------= %i\n", v[ 2] ); printf(" 4.Medalhao de Frango = %i\n", v[ 3] ); printf(" 5.Medalhao de File --= %i\n", v[ 4] ); printf(" 6.Picanha -----------= %i\n", v[ 5] ); printf(" 7.Contra file -------= %i\n", v[ 6] ); printf(" 8.Alcatra -----------= %i\n", v[ 7] ); printf(" 9.Porco -------------= %i\n", v[ 8] ); printf("10.Carneiro ----------= %i\n", v[ 9] ); printf("11.Frango ------------= %i\n", v[10] ); printf("12.Peito de frango ---= %i\n", v[11] ); // v sóh vai de zero até 11 mesmo ! printf("13.Linguiça ----------= %i\n", v[12] ); // Não existe o v12 nesse caso ! printf("===========================================\n"); }
Ainda ocorre o mesmo erro. Sem você ad nenhum valor em v[7] ele aparece 1 e se você add qualquer valor em v[0] esse valor vai para v[12].
- 1
-
#include <stdio.h> #include <stdlib.h> void pedidos(int v[], int cont){ printf("===========================================\n"); printf(" n=%i Pedidos\n",cont+1); printf("===========================================\n"); printf("1.File = %i\n", v[0]); printf("2.Coracao = %i\n", v[1]); printf("3.Cupim = %i\n", v[2]); printf("4.Medalhao de Frango = %i\n", v[3]); printf("5.Medalhao de File = %i\n", v[4]); printf("6.Picanha = %i\n", v[5]); printf("7.Contra file = %i\n", v[6]); printf("8.Alcatra = %i\n", v[7]); printf("9.Porco = %i\n", v[8]); printf("10.Carneiro = %i\n", v[9]); printf("11.Frango = %i\n", v[10]); printf("12.Peito de frango = %i\n", v[11]); printf("13.Linguiça = %i\n", v[12]); printf("===========================================\n"); } int main(){ //Variaveis int vtemp[12], vresul[12]; int Ncomandas; int whl = 0; for(int x=0; x!=13; x++){ vtemp[x] = 0; vresul[x] = 0; } //Quantia de comandas printf("Inseria a quantia de comandas: "); scanf("%i",&Ncomandas); for(int cont=0; cont<Ncomandas; cont++){ whl = 0; system("clear"); pedidos(vtemp,cont); while(whl != 20){ printf("Digite '20' para finalizar a comanda"); printf("\nDigite o item:"); scanf("%i",&whl); if(whl<0){ whl *= -1; vtemp[whl-1]--; } else{ vtemp[whl-1]++; } system("clear"); pedidos(vtemp,cont); /*for(int x=0; x!=13; x++){ printf("vetor[%i]=%i\n",x,vtemp[x]); printf("vetorRes[%i]=%i\n",x,vresul[x]); }*/ } for(int x=0; x<13; x++){ vresul[x] += vtemp[x]; vtemp[x] = 0; } } system("clear"); pedidos(vresul,0); /*for(int x=0; x!=13; x++){ printf("vetor[%i]=%i\n",x,vtemp[x]); printf("vetorRes[%i]=%i\n",x,vresul[x]); }*/ }
Estou fazendo um programa em C para contabilizar as quantias de pedidos de um restaurante e estava dando tudo certo até a hora que coloquei um vetor soma, onde soma todos os valores incluso no vetor temporário, onde o nome já diz temporário.
- 1
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais
Os valores do vetor estão errados
em C/C#/C++
Postado
Obrigado, vou estudar e colocar em pratica no meu