Porque não ordena alfabeticamente???
Página 1 de 1
Porque não ordena alfabeticamente???
Porque não consigo ordenar alfabéticamente, no caso é a opção 09
#include<stdio.h> // blibioteca
#include<stdlib.h> // blibioteca
#include<string.h> // blibioteca para caracter
struct dados{
char nome[20]; // variavel nome
int estoque; // variavel estoque
float valor,val; // variavel valor
};
//-----------------------------------------------------------------//
typedef dados tdados;
main(){
tdados vet[1000];
int op=0, ultimo=0,i,estmor,x,soma,total;
char letra,wnome[20],j[20];
float valmin,valmax,contnome=0,contletra=0,contestoque=0,perc,alt;
//---------------------------------------------------------------- / /
while(op!=10){ // laço para o menu
printf("\n\n Menu \n");
printf("\n 1-Cadastrar" );
printf("\n 2-Listar tudo" );
printf("\n 3-Listar produtos com estoque menor do que..." );
printf("\n 4-Listar produtos com valor entre..." );
printf("\n 5-Listar produtos de nome..." );
printf("\n 6-Listar produtos que iniciam com a letra..." ); // scanf("%c", & letra);
printf("\n 7-Mostar o total de estoque de todos os produtos" );
printf("\n 8-Altere x%% o valor de todos os produtos" );
printf("\n 9-Ordene em oredem alfabeticatodos os produtos" );
printf("\n 10-Sair" );
printf("\n opcao: " );
scanf(" %d",&op);
//------------------------------------------------------------------------------------//
if (op==1){ // condição para opcção do menu
printf("\n\n Informe nome: ");
fflush(stdin);//limpa teclado
fgets(vet[ultimo].nome,20,stdin); // para condição 1 Cadastrar nome
fflush(stdin); //limpa teclado
printf(" Informe estoque: "); //imprime a solicitação
scanf("%d", & vet[ultimo].estoque ) ; // para condição 1 Cadastrar estoque
printf(" Informe valor: ");
scanf("%f",& vet[ultimo].valor ); // para condição 1 Cadastrar valor
ultimo++;
} // termina if
//----------------------------------------------------------------------------------//
if (op==2){ // condição para opcção do menu
for(i=0;i<ultimo;i++){
fflush(stdin);
printf("\n\n Nome= %s ",vet[i].nome);
fflush(stdin) ; // para condição 2 Listar nome
printf(" Estoque= %d ",vet[i].estoque); // para condição 2 Listar estoque
printf(" Valor= %.2f ",vet[i].valor); // para condição 2 Listar valor
} // termina for
} // termina if
//--------------------------------------------------------------------------------------//
if (op==3){
fflush(stdin);
printf("\n\n Informe estoque minimo: "); // condição para opcção do menu
scanf("%d", & estmor);
fflush(stdin);
for(i=0;i<ultimo;i++){
if (vet[i].estoque<estmor){
fflush(stdin);
printf("\n Nome= %s ",vet[i].nome);
fflush(stdin); // para condição 2 Listar nome
printf("\n Estoque= %d ",vet[i].estoque); // para condição 2 Listar estoque
printf("\n Valor= %.2f ",vet[i].valor); // para condição 2 Listar valor
}// termina 2º if
else{printf("\n\n Todos estao os estoque acima do minimo: "); }
} // termina for
} // termina 1º if
//--------------------------------------------------------------------------------------//
if (op==4){
fflush(stdin);
printf("\n Produtos com valor minimo...: "); // condição para opcção do menu
scanf("%f", & valmin);
fflush(stdin);
// printf("\n Produtos com valor maximo...: "); // condição para opcção do menu
// scanf("%f", & valmax);
for(i=0;i<ultimo;i++){
if (valmin<vet[i].valor && valmax>vet[i].valor){
fflush(stdin);
printf("\n Nome= %s ",vet[i].nome);
fflush(stdin); // para condição 2 Listar nome
printf("\n Estoque= %d ",vet[i].estoque); // para condição 2 Listar estoque
printf("\n Valor= %.2f ",vet[i].valor); // para condição 2 Listar valor
} // termina 2º if
} // termina for
} // termina 1º if
//-----------------------------------------------------------------------------------//
if (op==5){
fflush(stdin);
printf("\n Produtos com nome: ");
fflush(stdin);
fgets(wnome,20,stdin);
fflush(stdin);
for(i=0;i<ultimo;i++){
if (strcmp(vet[i].nome,wnome)==0){// para comparar texto total
printf("\n nome= %s",vet[i].nome);
printf("estoque=%d",vet[i].estoque);
}
}
}
//---------------------------------------------------------------------------------//
if (op==6){
fflush(stdin); //limpa teclado
printf("\n Digite um nome: ");
fflush(stdin);
scanf("%c", &letra);
fflush(stdin);
for(i=0;i<ultimo;i++){
if (vet[i].nome[0] ==letra){ // para comparar letra ==
printf("\n produto %s ",vet[i].nome);
}
}
}
//-----------------------------------------------------------------------------//
//7 Mostar o total de estoque de todos os produtos
if (op==7){
total=0;
for(i=0;i<ultimo;i++){
total=total+vet[i].estoque;
}
printf("\n produto %d",total); }
//---------------------------------------------------------------------------//
// Mostar o total de estoque de todos os produtos"
if (op=={
fflush(stdin); //limpa teclado
printf("\n Digite um percetual: ");
fflush(stdin);
scanf("%f", &perc);
fflush(stdin);
for(i=0;i<ultimo;i++){
alt=vet[i].valor*perc/100 ;
vet[i].valor=alt+vet[i].valor;// muda o valor dos "vetores"
}
for(i=0;i<ultimo;i++){
fflush(stdin);
printf("\n\n Nome= %s ",vet[i].nome);
fflush(stdin) ; // para condição 2 Listar nome
printf(" Estoque= %d ",vet[i].estoque); // para condição 2 Listar estoque
printf(" Valor= %.2f ",vet[i].valor); // para condição 2 Listar valor
} // termina for
}
//-----------------------------------------------------------------------//
if (op==9){
for(i=0;i<ultimo;i++){
fflush(stdin);
j=strcmp(vet[i].nome,vet[i].nome);
fflush(stdin);
printf("\n %s",j);
}
}
} // termina while
printf("\n\n\t\t*************** Fim ***********************\n");
system("pause");
} // termina main
#include<stdio.h> // blibioteca
#include<stdlib.h> // blibioteca
#include<string.h> // blibioteca para caracter
struct dados{
char nome[20]; // variavel nome
int estoque; // variavel estoque
float valor,val; // variavel valor
};
//-----------------------------------------------------------------//
typedef dados tdados;
main(){
tdados vet[1000];
int op=0, ultimo=0,i,estmor,x,soma,total;
char letra,wnome[20],j[20];
float valmin,valmax,contnome=0,contletra=0,contestoque=0,perc,alt;
//---------------------------------------------------------------- / /
while(op!=10){ // laço para o menu
printf("\n\n Menu \n");
printf("\n 1-Cadastrar" );
printf("\n 2-Listar tudo" );
printf("\n 3-Listar produtos com estoque menor do que..." );
printf("\n 4-Listar produtos com valor entre..." );
printf("\n 5-Listar produtos de nome..." );
printf("\n 6-Listar produtos que iniciam com a letra..." ); // scanf("%c", & letra);
printf("\n 7-Mostar o total de estoque de todos os produtos" );
printf("\n 8-Altere x%% o valor de todos os produtos" );
printf("\n 9-Ordene em oredem alfabeticatodos os produtos" );
printf("\n 10-Sair" );
printf("\n opcao: " );
scanf(" %d",&op);
//------------------------------------------------------------------------------------//
if (op==1){ // condição para opcção do menu
printf("\n\n Informe nome: ");
fflush(stdin);//limpa teclado
fgets(vet[ultimo].nome,20,stdin); // para condição 1 Cadastrar nome
fflush(stdin); //limpa teclado
printf(" Informe estoque: "); //imprime a solicitação
scanf("%d", & vet[ultimo].estoque ) ; // para condição 1 Cadastrar estoque
printf(" Informe valor: ");
scanf("%f",& vet[ultimo].valor ); // para condição 1 Cadastrar valor
ultimo++;
} // termina if
//----------------------------------------------------------------------------------//
if (op==2){ // condição para opcção do menu
for(i=0;i<ultimo;i++){
fflush(stdin);
printf("\n\n Nome= %s ",vet[i].nome);
fflush(stdin) ; // para condição 2 Listar nome
printf(" Estoque= %d ",vet[i].estoque); // para condição 2 Listar estoque
printf(" Valor= %.2f ",vet[i].valor); // para condição 2 Listar valor
} // termina for
} // termina if
//--------------------------------------------------------------------------------------//
if (op==3){
fflush(stdin);
printf("\n\n Informe estoque minimo: "); // condição para opcção do menu
scanf("%d", & estmor);
fflush(stdin);
for(i=0;i<ultimo;i++){
if (vet[i].estoque<estmor){
fflush(stdin);
printf("\n Nome= %s ",vet[i].nome);
fflush(stdin); // para condição 2 Listar nome
printf("\n Estoque= %d ",vet[i].estoque); // para condição 2 Listar estoque
printf("\n Valor= %.2f ",vet[i].valor); // para condição 2 Listar valor
}// termina 2º if
else{printf("\n\n Todos estao os estoque acima do minimo: "); }
} // termina for
} // termina 1º if
//--------------------------------------------------------------------------------------//
if (op==4){
fflush(stdin);
printf("\n Produtos com valor minimo...: "); // condição para opcção do menu
scanf("%f", & valmin);
fflush(stdin);
// printf("\n Produtos com valor maximo...: "); // condição para opcção do menu
// scanf("%f", & valmax);
for(i=0;i<ultimo;i++){
if (valmin<vet[i].valor && valmax>vet[i].valor){
fflush(stdin);
printf("\n Nome= %s ",vet[i].nome);
fflush(stdin); // para condição 2 Listar nome
printf("\n Estoque= %d ",vet[i].estoque); // para condição 2 Listar estoque
printf("\n Valor= %.2f ",vet[i].valor); // para condição 2 Listar valor
} // termina 2º if
} // termina for
} // termina 1º if
//-----------------------------------------------------------------------------------//
if (op==5){
fflush(stdin);
printf("\n Produtos com nome: ");
fflush(stdin);
fgets(wnome,20,stdin);
fflush(stdin);
for(i=0;i<ultimo;i++){
if (strcmp(vet[i].nome,wnome)==0){// para comparar texto total
printf("\n nome= %s",vet[i].nome);
printf("estoque=%d",vet[i].estoque);
}
}
}
//---------------------------------------------------------------------------------//
if (op==6){
fflush(stdin); //limpa teclado
printf("\n Digite um nome: ");
fflush(stdin);
scanf("%c", &letra);
fflush(stdin);
for(i=0;i<ultimo;i++){
if (vet[i].nome[0] ==letra){ // para comparar letra ==
printf("\n produto %s ",vet[i].nome);
}
}
}
//-----------------------------------------------------------------------------//
//7 Mostar o total de estoque de todos os produtos
if (op==7){
total=0;
for(i=0;i<ultimo;i++){
total=total+vet[i].estoque;
}
printf("\n produto %d",total); }
//---------------------------------------------------------------------------//
// Mostar o total de estoque de todos os produtos"
if (op=={
fflush(stdin); //limpa teclado
printf("\n Digite um percetual: ");
fflush(stdin);
scanf("%f", &perc);
fflush(stdin);
for(i=0;i<ultimo;i++){
alt=vet[i].valor*perc/100 ;
vet[i].valor=alt+vet[i].valor;// muda o valor dos "vetores"
}
for(i=0;i<ultimo;i++){
fflush(stdin);
printf("\n\n Nome= %s ",vet[i].nome);
fflush(stdin) ; // para condição 2 Listar nome
printf(" Estoque= %d ",vet[i].estoque); // para condição 2 Listar estoque
printf(" Valor= %.2f ",vet[i].valor); // para condição 2 Listar valor
} // termina for
}
//-----------------------------------------------------------------------//
if (op==9){
for(i=0;i<ultimo;i++){
fflush(stdin);
j=strcmp(vet[i].nome,vet[i].nome);
fflush(stdin);
printf("\n %s",j);
}
}
} // termina while
printf("\n\n\t\t*************** Fim ***********************\n");
system("pause");
} // termina main
jgusson- Moderador
- Mensagens : 19
Data de inscrição : 16/05/2009
Localização : Cachoeirinha
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos