Rui M. Posted June 24, 2008 at 10:03 PM Report Share #193345 Posted June 24, 2008 at 10:03 PM Preciso de saber se existe alguma forma de, através de um switch, fazer o case com um vector. Por exemplo: Switch(abc[ i ]) case abc[ i ]=1: printf... Link to comment Share on other sites More sharing options...
Rui M. Posted June 24, 2008 at 10:05 PM Author Report Share #193347 Posted June 24, 2008 at 10:05 PM Preciso de saber se existe alguma forma de, através de um switch, fazer o case com um vector. Por exemplo: Switch(abc[ i ]) case abc[ i ]=1: printf... Link to comment Share on other sites More sharing options...
vitortomaz Posted June 24, 2008 at 10:07 PM Report Share #193348 Posted June 24, 2008 at 10:07 PM e que tal guardar o resultado de abc[ i] numa variável antes e depois usá-la no switch? não percebi bem a tua dúvida http://vitortomaz.blogspot.com/ Link to comment Share on other sites More sharing options...
Rui M. Posted June 24, 2008 at 10:10 PM Author Report Share #193350 Posted June 24, 2008 at 10:10 PM Tipo, eu preciso de fazer um printf caso o primeiro vector seja igual a 1. note-se que o vector abc é abc[150]. Apenas pus o "i" porque antes tem um for. Link to comment Share on other sites More sharing options...
djthyrax Posted June 24, 2008 at 10:14 PM Report Share #193351 Posted June 24, 2008 at 10:14 PM Assumo que isto seja C. for(i = 0; i < 150; i++){ switch(abc[i]){ case 1: printf("ois"); break; case 2: printf("outra coisa"); break; } } Isto vai verificar se os vários abc são == 1, 2, etc. Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum! Link to comment Share on other sites More sharing options...
Rui M. Posted June 24, 2008 at 10:19 PM Author Report Share #193355 Posted June 24, 2008 at 10:19 PM eu preciso de conseguir por este for com switch a bombar desta maneira: for(i=0;i<cont2;i++) crl[ i ]=memo; switch(memo, ali[ i ]) { case memo=1: printf("Carnes %d€\n", ali[ i ]); break; case memo=2: printf("Lacticinios %d€\n", ali[ i ]); break; case memo=3: printf("Cereais %d€\n", ali[ i ]); break; case memo=4: printf("Massas %d€\n", ali[ i ]); break; case memo=5: printf("Bebidas %d€\n", ali[ i ]); break; case memo=6: printf("Congelados %d€\n", ali[ i ]); break; } só que nem com o memo nem com o crl eu consigo por o case porque dá "case expression not constant". Alguma ideia sff Link to comment Share on other sites More sharing options...
vitortomaz Posted June 24, 2008 at 10:21 PM Report Share #193357 Posted June 24, 2008 at 10:21 PM apenas switch(memo) não? http://vitortomaz.blogspot.com/ Link to comment Share on other sites More sharing options...
Rui M. Posted June 24, 2008 at 10:43 PM Author Report Share #193365 Posted June 24, 2008 at 10:43 PM mesmo so com o memo ele n aceita, dizendo que tem de ser uma variavel constante. e eu em cima ja estou a passar o valor do vector para a variavel int memo. basicamente a função é assim: factura(int ali[150], int crl[150], int cont2) { int i, memo; printf("ARTIGO\t\tPRECO\n\n"); for(i=0;i<cont2;i++) crl[i]=memo; switch(memo, ali[i]) { case memo=1: printf("Carnes %d€\n", ali[i]); break; case memo=2: printf("Lacticinios %d€\n", ali[i]); break; case memo=3: printf("Cereais %d€\n", ali[i]); break; case memo=4: printf("Massas %d€\n", ali[i]); break; case memo=5: printf("Bebidas %d€\n", ali[i]); break; case memo=6: printf("Congelados %d€\n", ali[i]); break; } } onde o vector ali tem guardado o preço e o vecotr crl tem guardado a posição da casa para corresponder o preço com o tipo de alimento ------------------------------------------------- factura(int ali[150], int crl[150], int cont2, int f) { int i, memo; printf("ARTIGO\t\tPRECO\n\n"); for(i=0;i<cont2;i++) crl[i]=memo; switch(memo, ali[ i ]) { case memo=1: printf("Carnes %d€\n", ali[ i ]); break; case memo=2: printf("Lacticinios %d€\n", ali[ i ]); break; case memo=3: printf("Cereais %d€\n", ali[ i ]); break; case memo=4: printf("Massas %d€\n", ali[ i ]); break; case memo=5: printf("Bebidas %d€\n", ali[ i ]); break; case memo=6: printf("Congelados %d€\n", ali[ i ]); break; } } Link to comment Share on other sites More sharing options...
Aezrel Posted June 24, 2008 at 10:58 PM Report Share #193368 Posted June 24, 2008 at 10:58 PM Boas, Rui. caso nao te tenhas apercebido, estás a atribuir um valor duma variavel.....a um vector? quanto muito terias de especificar a casa onde querias k o valor ficasse guardado. Mas pq eq no switch tens o ali[ i] ?? nao te serve de nada. outra coisa é teres 'case memo=1' a estrutura switch so te aceita constantes no case, logo, quanto muito poderias ter case 1 ...ou case 2 ...por ai adiante. espero ter-te sido util, mas se quiseres realmente por isso a funcionar (sem andares com a stora Marta a chatear-te a cabeça por causa dos switch) aconselho.te a fazeres um pouco de leitura. Acho que o livro do Damas pode-te ajudar, pois explica isso de forma simples. Bom trabalho! Link to comment Share on other sites More sharing options...
TheDark Posted June 25, 2008 at 02:32 PM Report Share #193488 Posted June 25, 2008 at 02:32 PM Devias 1º que tudo entender a sintaxe do switch. Desaparecido. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now