Jump to content
Jeovane Carvalho

Erro ao imprimir dados armazenados na memória em C

Recommended Posts

Olá Senhores , estou aqui para um help dos senhores mais experientes, e estou com um problema em meu código, pois desenvolvi um menu em C, e esta funcionando praticamente em tudo, e só não consegui imprimi todos os dados na tela ..

 

Por exemplo, se eu cadastrar mais de 1 aluno em meu sistema eu consigo visualizar de boa buscando pela matrícula, mas se eu pedi para listar todos os alunos cadastrados, ele só busca o primeiro e os outros ele não retorna, segue abaixo o código....

 

 

#include<stdio.h>
#include<stdlib.h>
#include<locale.h>
#include<string.h>

struct cadastro
{
	int matricula;
	char aluno[50];
	char disciplina1[50];
	char disciplina2[50];
	char disciplina3[50];
	float nota1;
	float nota2;
	float nota3;
	float nota4;
	float nota5;
	float nota6;
	float nota7;
	float nota8;
	float nota9;
	int codaux[20];
	int vazio;
	int cod;
	
	
};


struct cadastro registros[50];

void flush_in(){ 
    int ch;
    while( (ch = fgetc(stdin)) != EOF && ch != '\n' ){} 
}
//Funçoes que serao usadas
void cadastrar(int cod, int pos);

//Funçao para consulta
void listar( void );

//Funçao para consulta
void consultar( void );

//Funçao para exibir relatorio
int relatorio( void );

//Função para verificar posição
int verifica_pos( void );

//Função para verificar codigo
int verifica_cod( int cod );

//Função para verificar posição do codigo
int verifica_pos( void );

//Função para excluir cadastro
void excluir( void );


int  main(void){

   int op = 0,senha,posicao, matricula, retorno;
	printf("#########               SISTEMA DE NOTAS DE ALUNOS:               ##############\n\n ");
	
do
{
    printf(" DIGITE UMA SENHA : ");
    scanf ("%d",&senha);
    if(senha!=1)
	{
   
	printf("Senha incorreta. Tente Novamente \n\n");
	system("pause");
    system("cls");
  

}
}
while(senha!=1);


while(op!=5){
system("cls");
printf ("\n\n *** MENU DE NOTAS DE ALUNO: ***\n\n ",setlocale(LC_ALL,""));
printf ("| 1 - Matrícula do Aluno      |\n",setlocale(LC_ALL,""));
printf (" | 2 - Lista de  Alunos        |\n",setlocale(LC_ALL,""));
printf (" | 3 - Listar dados do Aluno   |\n",setlocale(LC_ALL,""));
printf (" | 4 - Pesquisar por Matrícula |\n",setlocale(LC_ALL,""));
printf (" | 5 - Sair                    |\n",setlocale(LC_ALL,""));
scanf ("%d", &op); 
switch(op)
{
	case 1: // CADASTRAR
            {

                posicao=verifica_pos();
                

                if ( posicao != -1 )
                {

                    printf("\nDigite o número da matrícula para o aluno : ");
                    scanf("%d",&matricula);
					fflush(stdin);

                    retorno = verifica_cod( matricula);

                    if ( retorno == 1 )
                        cadastrar( matricula, posicao );
                    else
                        printf("\nCodigo ja existente\n");
system ("pause");
                }
                else
                    printf("\nNao e possivel realizar mais cadastros!\n");

                break;

            }

     
     	case 2: // LISTAR
            {
            	
            listar();
         
                break;
                
            }
            case 3:// CONSULTAR
            {
              consultar();
              
                break;
                
            }
            case 4:// EXCLUIR
            {
            		excluir();
            		system ("pause");
                break;
                
                
            } // SAIR
            case 5:
            {
                 printf("\n Saindo do Sistema - Tchau");
                 getchar();
                 return 0;
                 break;
            }
            
            default :// OPÇÃO INVÁLIDA
                printf("Opcão Inválida",setlocale(LC_ALL,""));
                break;
        }
    }
getchar();

}






// FUNÇAO CADASTRAR
void cadastrar( int cod, int pos )
{
    pos = verifica_pos();

    registros[pos].cod = cod;
	
	printf("\nDigite Nome do Aluno: ");
    scanf("%s",&registros[pos].aluno);
    
    
	printf("\nDigite a 1º  Disciplina : ");
    scanf("%s",&registros[pos].disciplina1);
    flush_in();
    printf("\nNota do 1º Bimestre: ");
	scanf("%f",&registros[pos].nota1);
   fflush(stdin);
    printf("\nNota do 2º Bimestre: ");
    scanf("%f",&registros[pos].nota2);
    fflush(stdin);
    printf("\nNota do 3º Bimestre: ");
    scanf("%f",&registros[pos].nota3);
    
	
	
	printf("\nDigite a 2º Disciplina : ");
    scanf("%s",&registros[pos].disciplina2);
    fflush(stdin);
    printf("\nNota do 1º Bimestre: ");
	scanf("%f",&registros[pos].nota4);
    fflush(stdin);
    printf("\nNota do 2º Bimestre: ");
    scanf("%f",&registros[pos].nota5);
    fflush(stdin);
    printf("\nNota do 3º Bimestre: ");
    scanf("%f",&registros[pos].nota6);
    
    
    
    
    printf("\nDigite a 3º Disciplina :  ",setlocale(LC_ALL,""));
    scanf("%s",&registros[pos].disciplina3);
    fflush(stdin);
    printf("\nNota do 1º Bimestre: ",setlocale(LC_ALL,""));
	scanf("%f",&registros[pos].nota7);
    fflush(stdin);
    printf("\nNota do 2º Bimestre: ",setlocale(LC_ALL,""));
    scanf("%f",&registros[pos].nota8);
    fflush(stdin);
    printf("\nNota do 3º Bimestre: ",setlocale(LC_ALL,""));
    scanf("%f",&registros[pos].nota9);
    
    
    registros[pos].vazio = 1;

    printf("\nCadastro Realizado com Sucesso!\n\n",setlocale(LC_ALL,""));
    getchar();

    system("cls");

} //Final da Função Cadastrar



// FUNÇAO LISTAR

void listar()
{
   setlocale(LC_ALL," ");
   int i,j,cod,posicao,pos, retorno;

    pos = verifica_pos();


  for (i=0; i<pos; i++ )
    {

  
if (registros[i].vazio==1)
    {
		    
                printf("\n\n\nRESULTADO DA BUSCA: \n\n");
                printf("\nForam encontrado (os) Aluno (s) : %d\n" ,registros[i].cod);
				printf("**********************************************\n\n");
			    printf("\nMatrícula : %d\n",registros[i].cod);
			    printf("\nNome do Aluno é: %s\n" ,registros[i].aluno);
				
				printf("\nDisciplina : %s\n",registros[i].disciplina1);
				printf("\nNota do 1º Bimestre: %.1f\t",registros[i].nota1);
				printf("\nNota do 2º Bimestre: %.1f\t",registros[i].nota1);
				printf("\nNota do 3º Bimestre: %.1f\n",registros[i].nota3);
				
				printf("\nDisciplina : %s\n",registros[i].disciplina2);
				printf("\nNota do 1º Bimestre: %.1f\t",registros[i].nota4);
				printf("\nNota do 2º Bimestre: %.1f\t",registros[i].nota5);
				printf("\nNota do 3º Bimestre: %.1f\n",registros[i].nota6);
				
				printf("\nDisciplina : %s\n",registros[i].disciplina3);
				 printf("\nNota do 1º Bimestre: %.1f\t",registros[i].nota7);
				printf("\nNota do 2º Bimestre: %.1f\t",registros[i].nota8);
				printf("\nNota do 3º Bimestre: %.1f\n",registros[i].nota9);
               
                printf("\n\n");
                printf("**********************************************\n\n");
                  system("pause");
                   getchar();
                   break;
                


}
i++;
	
	
}
if (registros[i].vazio==0)
  {
	
		
		printf("\nCódigo não encontrado\n\n");
      system("pause");
       system("cls");
       return ;
   }                
}
       

       

		

  



//FUNÇÃO CONSULTAR
void consultar( void )
{
    int cont = 0, cod,posicao, retorno,codaux;
   

    printf("\nEntre com o código: ",setlocale(LC_ALL,""));
    scanf("%d",&cod);

    system("cls");

    while ( cont <= 100 )
    {

        if (registros[cont].cod==cod)
        {
            if (registros[cont].vazio==1)
            {   printf("\n\n\nRESULTADO DA BUSCA: \n\n");
                printf("\nForam encontrado (os) Aluno (s) : %d\n" ,registros[cont].cod);
				printf("**********************************************\n\n");
			    printf("\nMatrícula : %d\n",registros[cont].cod);
			    printf("\nNome do Aluno é: %s\n" ,registros[cont].aluno);
				
				printf("\nDisciplina : %s\n",registros[cont].disciplina1);
				printf("\nNota do 1º Bimestre: %.1f\t",registros[cont].nota1);
				printf("\nNota do 2º Bimestre: %.1f\t",registros[cont].nota1);
				printf("\nNota do 3º Bimestre: %.1f\n",registros[cont].nota3);
				
				printf("\nDisciplina : %s\n",registros[cont].disciplina2);
				printf("\nNota do 1º Bimestre: %.1f\t",registros[cont].nota4);
				printf("\nNota do 2º Bimestre: %.1f\t",registros[cont].nota5);
				printf("\nNota do 3º Bimestre: %.1f\n",registros[cont].nota6);
				
				printf("\nDisciplina : %s\n",registros[cont].disciplina3);
				 printf("\nNota do 1º Bimestre: %.1f\t",registros[cont].nota7);
				printf("\nNota do 2º Bimestre: %.1f\t",registros[cont].nota8);
				printf("\nNota do 3º Bimestre: %.1f\n",registros[cont].nota9);
               
               
                printf("\n\n");

                system ("pause");

                system("cls");

                break;

            }
	
		}
        
        cont++;

if (registros[cont].vazio==0)
			 {
		
		printf("\nCódigo não encontrado\n\n",setlocale(LC_ALL,""));
        system("pause");
       system("cls");
       return ;
		}

    }
    
}

//FUNÇÃO VERIFICA POSIÇÃO
int verifica_pos( void )
{
    int cont = 0;

    while ( cont <= 100 )
    {

        if ( registros[cont].vazio == 0 )
            return(cont);

        cont++;

    }

    return(-1);

}

//FUNÇÃO ZERAR
void zerar( void )
{
    int cont;

    for ( cont = 0; cont <= 100; cont++ )
        registros[cont].vazio = 0;
}

//FUNÇÃO VERIFICA CODIGO
int verifica_cod( int cod )
{
    int cont = 0;

    while ( cont <= 100 )
    {
        if ( registros[cont].cod == cod )
            return(0);

        cont++;
    }

    return(1);

}

//FUNÇÃO EXCLUIR
void excluir( void )
{
    int cod, cont = 0;
    char resp;

    printf("\nEntre com o código do registro que deseja excluir\n",setlocale(LC_ALL,""));
    scanf("%d", &cod );

    while ( cont <= 100 )
    {

        if ( registros[cont].cod == cod )
        { // FALTOU

            if ( registros[cont].vazio == 1 )
            {
            	printf("\n\n\nRESULTADO DA BUSCA: \n\n");
                printf("\nForam encontrado (os) Aluno (s) : %d\n" ,registros[cont].cod);
				printf("**********************************************\n\n");
			    printf("\nMatrícula : %d\n",registros[cont].cod);
			    printf("\nNome do Aluno é: %s\n" ,registros[cont].aluno);
				
				printf("\nDisciplina : %s\n",registros[cont].disciplina1);
				printf("\nNota do 1º Bimestre: %.1f\t",registros[cont].nota1);
				printf("\nNota do 2º Bimestre: %.1f\t",registros[cont].nota1);
				printf("\nNota do 3º Bimestre: %.1f\n",registros[cont].nota3);
				
				printf("\nDisciplina : %s\n",registros[cont].disciplina2);
				printf("\nNota do 1º Bimestre: %.1f\t",registros[cont].nota4);
				printf("\nNota do 2º Bimestre: %.1f\t",registros[cont].nota5);
				printf("\nNota do 3º Bimestre: %.1f\n",registros[cont].nota6);
				
				printf("\nDisciplina : %s\n",registros[cont].disciplina3);
				 printf("\nNota do 1º Bimestre: %.1f\t",registros[cont].nota7);
				printf("\nNota do 2º Bimestre: %.1f\t",registros[cont].nota8);
				printf("\nNota do 3º Bimestre: %.1f\n",registros[cont].nota9);
               
               
              
                getchar();

                printf("\nDeseja realmente excluir ? S/N:");
                scanf("%c",&resp);

                if ( ( resp == 'S' ) || ( resp == 's' ) )
                {
                    registros[cont].vazio=0;
                    printf("\nExclusão feita com sucesso\n\n");
                    break;
                }
                else
                {
                    if ( ( resp == 'N' ) || ( resp == 'n' ) )
                    {
                        printf("Exclusão cancelada!\n");
                        break;
                    }
                }

            }

        }

        cont++;

        if ( cont > 100 )
            printf("\nCodigo nao encontrado\n");

    }

    system("pause");
    system("cls");

}

Como eu disse, ele roda de boa só não lista todos os alunos e apenas 0 1º, um #trabalhozinho de faculdade.. Obrigado !

Share this post


Link to post
Share on other sites

Você ta fazendo um FOR, e incrementando i dentro dele.

for(int i = 0; i < pos; i++) {
	// seu código 
	i++;
}

Remove esse i++ de dentro do laço, o próprio for incrementa ele. 

Share this post


Link to post
Share on other sites
1 hora atrás, itlpps disse:

Você ta fazendo um FOR, e incrementando i dentro dele.


for(int i = 0; i < pos; i++) {
	// seu código 
	i++;
}

Remove esse i++ de dentro do laço, o próprio for incrementa ele. 

Valeu itlpps ,

mas mesmo assim ele só apresenta um resultado de 2 ou mais que estiverem cadastrados, eu trabalho mais com php e tenho pouco conhecimento em programação em C..

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By kaayasinho
      Boa tarde Pessoal tudo bom?
      Durante um tempo eu fui estudante de programação, para web. E esse forum me foi muito util pois aprendi muitas coisas, e tirei muitas duvidas com todos os participantes. Por outro lado não segui a carreira de programado pois tive outras oportunidades.
       
      Em fim, estou com um projeto de criar uma plataforma online para eventos, e estou tentando montar um time chegar nesse objetivo. Por hora ainda estou tentando juntando a equipe necessária para isso acontecer.
       
      Pela pouca experiência que tive na programação, sei que fazer essa plataforma é bem complexa principalmente com as necessidades que vamos englobar, porém o mercado esta escasso de plataformas flexíveis, no sentido de oferecer algumas ferramentas básicas na comunicação. apesar de ja existir algumas plataformas no mercado.
       
      Resumo:
      1-) Procuro por programadores backend com experiência (não sei exatamente informar a linguagem) mas chuto que Java, Javascript e PHP sejam fundamentais. (sei que abusaremos muito do AJAX)
       
      2-) Programador FrontEnd, com experiência. E que tenha principalmente em boas praticas, pois código sujo cheio de plugins tornará a plataforma pesada, e cheia de bugs.
       
      PS: Não procuro nada pronto, claro que plugins coisas são inevitáveis porém para funcionarmos Lisos com menos bugs possíveis procuro algo feito “artesanalmente” rsrs.
       
      Obs: o projeto esta no inicio ainda, estou juntando contatos para chegar no objetivo, e assim que tiver um contato gostaria de poder conversar trocar ideias, caso seja um projeto onde você se identifique nada impede de sermos parceiros ter uma % sobre o negocio.
       
       
      Obs2: Desculpem se escrevi meio enrolado ou esta complicado de entender. pois apenas disse plataforma de eventos e não especifiquei nada. mas assim que receber um contato eu passo mais informações com alguns links de exemplos, que é melhor que falar.
       
      E caso aqui seja o lugar correto posso passar mais informações por aqui também.
       
      Seguem alguns exemplos de plataforma de eventos online.
      Download de 2 PDFs de apresentações do mesmo segmento
       
      Site de uma das plataformas porém proximo do que almejamos
      https://www.swaper.com.br/
       
       
      Fico a disposição,
       
      Desculpem se postei no local incorreto
       
    • By jrxxjr
      Sou iniciante em Android, e fiz uma pequena aplicação Android de teste, usando Java, para aprender a utilizar um ListView com botões, e tive um problema. Os botões não funcionam direito, as vezes eu clico em cima do Edit, ele muda a mensagem para clicado, "Edit", confirmando que eu cliquei ai. Mas tem vezes que eu clico no botão Delete, e depois no botão Edit, e o texto não é mudado, ou seja o evento click não funcionou, se eu coloco um break point, no código-fonte, onde está entrando no evento setOnItemClickListener. Mas a mensagem exibida, não está correta.
      E tem um outro erro, de funcionamento do AlertDialog, da mensagem de confirmação de deleção.
      O código-fonte está abaixo.
      Por favor, alguém poderia me ajudar ?
       
      AgendaActivity.java
      package com.test.android.view; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.Button; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; import com.test.android.model.Agenda; import com.test.android.util.Util; public class AgendaActivity extends AppCompatActivity { ListView listview; MyArrayAdapter agendaArrayAdapter; ArrayList<AgendaTo> agendaArray = new ArrayList<AgendaTo>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_agenda); SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); agendaArray.add(new AgendaTo(sdf.format(new Date()), Util.fillSpaces("Nick", 50))); agendaArray.add(new AgendaTo(sdf.format(new Date()), Util.fillSpaces("John", 50))); agendaArray.add(new AgendaTo(sdf.format(new Date()), Util.fillSpaces("Anthony", 50))); agendaArray.add(new AgendaTo(sdf.format(new Date()), Util.fillSpaces("James", 50))); agendaArray.add(new AgendaTo(sdf.format(new Date()), Util.fillSpaces("Jack", 50))); agendaArray.add(new AgendaTo(sdf.format(new Date()), Util.fillSpaces("Jeremy", 50))); agendaArray.add(new AgendaTo(sdf.format(new Date()),Util.fillSpaces("Long", 50))); agendaArrayAdapter = new MyArrayAdapter(AgendaActivity.this, R.layout.list_item, agendaArray); listview = (ListView) findViewById(R.id.listView); listview.setItemsCanFocus(false); listview.setAdapter(agendaArrayAdapter); listview.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View v, final int position, long id) { Toast.makeText(AgendaActivity.this, "List Item Clicked:" + position, Toast.LENGTH_LONG) .show(); } }); } } MyArrayAdapter.java
      package com.test.android.view; import android.app.Activity; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; import java.text.SimpleDateFormat; import java.util.ArrayList; public class MyArrayAdapter extends ArrayAdapter<AgendaTo> { Context context; int layoutResourceId; ArrayList<AgendaTo> agendas = new ArrayList<AgendaTo>(); public MyArrayAdapter(Context context, int layoutResourceId, ArrayList<AgendaTo> agendas) { super(context, layoutResourceId, agendas); this.layoutResourceId = layoutResourceId; this.context = context; this.agendas = agendas; } @Override public View getView(int position, View convertView, ViewGroup parent) { View item = convertView; AgendaWrapper agendaWrapper = null; if (item == null) { LayoutInflater inflater = ((Activity) context).getLayoutInflater(); item = inflater.inflate(layoutResourceId, parent, false); agendaWrapper = new AgendaWrapper(); agendaWrapper.nome = (TextView) item.findViewById(R.id.textNome); agendaWrapper.data = (TextView) item.findViewById(R.id.textData); agendaWrapper.edit = (Button) item.findViewById(R.id.btnEdit); agendaWrapper.delete = (Button) item.findViewById(R.id.btnDelete); item.setTag(agendaWrapper); } else { agendaWrapper = (AgendaWrapper) item.getTag(); } AgendaTo agenda = agendas.get(position); agendaWrapper.nome.setText(agenda.getNome()); SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); agendaWrapper.data.setText(sdf.format(agenda.getData())); agendaWrapper.edit.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(context, "Edit", Toast.LENGTH_LONG).show(); } }); final int absolutePsition = position; final AgendaWrapper itemDelete = agendaWrapper; final ViewGroup viewGroup = parent; agendaWrapper.delete.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(context, "Delete " + absolutePsition, Toast.LENGTH_LONG).show(); AlertDialog diaBox = AskOption(itemDelete, absolutePsition, viewGroup); diaBox.show(); } }); return item; } private AlertDialog AskOption(AgendaWrapper agendaWrapper, int position, final ViewGroup viewGroup) { final int deletePosition = position; AlertDialog myQuittingDialogBox = new AlertDialog.Builder(context) .setTitle("Delete") .setMessage("Do you want to Delete") .setPositiveButton("Delete", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { agendas.remove(deletePosition); refreshListView(agendas, viewGroup); dialog.dismiss(); } private void refreshListView(final ArrayList<AgendaTo> agendas, final ViewGroup viewGroup) { final MyArrayAdapter myArrayAdapter = new MyArrayAdapter(context, R.layout.list_item, agendas); final LayoutInflater inflater = ((Activity) context).getLayoutInflater(); final View view = inflater.inflate(layoutResourceId, viewGroup, false); final ListView listview = (ListView) view.findViewById(R.id.listView); listview.setAdapter(myArrayAdapter); } }) .setNegativeButton("cancel", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }) .create(); return myQuittingDialogBox; } static class AgendaWrapper { TextView nome; TextView data; Button edit; Button delete; } } list_item.xml
      <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="4dp" tools:context=".AgendaActivity" > <TextView android:id="@+id/textNome" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:text="Nome:" android:width="50dp" android:textAppearance="?android:attr/textAppearanceLarge" /> <TextView android:id="@+id/textData" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/textData" android:layout_alignTop="@id/textNome" android:layout_alignRight="@id/textNome" android:layout_alignParentLeft="true" android:layout_marginTop="5dp" android:width="50dp" android:text="Data:" android:textAppearance="?android:attr/dateTextAppearance" android:textSize="16sp" /> <Button android:id="@+id/btnEdit" android:layout_width="80dp" android:layout_height="40dp" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:background="#99CC" android:focusable="false" android:focusableInTouchMode="false" android:text="Edit" android:textColor="#FFFFFF" /> <Button android:id="@+id/btnDelete" android:layout_width="80dp" android:layout_height="40dp" android:layout_alignParentRight="true" android:layout_below="@+id/btnEdit" android:layout_marginTop="3dp" android:background="#99CC" android:focusable="false" android:focusableInTouchMode="false" android:text="Delete" android:textColor="#FFFFFF" /> </RelativeLayout> activity_agenda.xml
      <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#990044" tools:context="com.test.android.view.AgendaActivity" > <TextView android:id="@+id/listLabel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:text="Touch List" android:textColor="#FFFFFF" android:textSize="25sp" /> <ListView android:id="@+id/listView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_below="@+id/listLabel" android:layout_marginTop="5dp" android:cacheColorHint="#FFFFFF" /> </RelativeLayout>  
    • By Alisson Hoepers
      Olá! Estou recebendo esse erro no meu log do Wildfly, procurando pela internet não encontrei nada em relação a isso, vejam abaixo o erro:
       
      2020-07-08 00:09:34,699 ERROR [io.undertow.request] (default I/O-4) UT005071: Undertow request failed HttpServerExchange{ CONNECT ext.baidu.com:443}: java.lang.IllegalArgumentException: UT000068: Servlet path match failed     at io.undertow.servlet.handlers.ServletPathMatchesData.getServletHandlerByPath(ServletPathMatchesData.java:83)     at io.undertow.servlet.handlers.ServletPathMatches.getServletHandlerByPath(ServletPathMatches.java:88)     at io.undertow.servlet.handlers.ServletInitialHandler.handleRequest(ServletInitialHandler.java:146)     at io.undertow.server.handlers.HttpContinueReadHandler.handleRequest(HttpContinueReadHandler.java:65)     at io.undertow.server.handlers.PathHandler.handleRequest(PathHandler.java:91)     at org.wildfly.extension.undertow.Host$OptionsHandler.handleRequest(Host.java:399)     at io.undertow.server.handlers.HttpContinueReadHandler.handleRequest(HttpContinueReadHandler.java:65)     at org.wildfly.extension.undertow.Host$AcmeResourceHandler.handleRequest(Host.java:421)     at org.wildfly.extension.undertow.Host$HostRootHandler.handleRequest(Host.java:430)     at io.undertow.server.handlers.NameVirtualHostHandler.handleRequest(NameVirtualHostHandler.java:54)     at io.undertow.server.handlers.error.SimpleErrorPageHandler.handleRequest(SimpleErrorPageHandler.java:78)     at io.undertow.server.handlers.CanonicalPathHandler.handleRequest(CanonicalPathHandler.java:49)     at org.wildfly.extension.undertow.Server$DefaultHostHandler.handleRequest(Server.java:190)     at io.undertow.server.handlers.ChannelUpgradeHandler.handleRequest(ChannelUpgradeHandler.java:211)     at io.undertow.server.protocol.http2.Http2UpgradeHandler.handleRequest(Http2UpgradeHandler.java:102)     at io.undertow.server.handlers.DisallowedMethodsHandler.handleRequest(DisallowedMethodsHandler.java:61)     at io.undertow.server.Connectors.executeRootHandler(Connectors.java:376)     at io.undertow.server.protocol.http.HttpReadListener.handleEventWithNoRunningRequest(HttpReadListener.java:255)     at io.undertow.server.protocol.http.HttpReadListener.handleEvent(HttpReadListener.java:136)     at io.undertow.server.protocol.http.HttpOpenListener.handleEvent(HttpOpenListener.java:162)     at io.undertow.server.protocol.http.HttpOpenListener.handleEvent(HttpOpenListener.java:100)     at io.undertow.server.protocol.http.HttpOpenListener.handleEvent(HttpOpenListener.java:57)     at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)     at org.xnio.ChannelListeners$10.handleEvent(ChannelListeners.java:291)     at org.xnio.ChannelListeners$10.handleEvent(ChannelListeners.java:286)     at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)     at org.xnio.nio.QueuedNioTcpServer$1.run(QueuedNioTcpServer.java:132)     at org.xnio.nio.WorkerThread.safeRun(WorkerThread.java:612)     at org.xnio.nio.WorkerThread.run(WorkerThread.java:479) Alguém já passou por isso ou saberia indicar o que poderia ser?
    • By Pavolin9
      Bom dia, estou desenvolvendo um sistema bem simples de estoque onde os itens serao armazenados em uma matriz segue codigo:
          package main;          import java.io.Console;     import java.util.Arrays;     import java.util.Scanner;          public class IncluirItem{         public static void main(String[] args) {             String[][] itens = new String[2][5];             String[] campos = new String[7];             int opcao = 0;             int remover;             int verificar = 0;             int adcionar = 0;             int tamanho = 2;                          Scanner sc = new Scanner(System.in);                          campos [1] = "Nome";             campos [2] = "Codigo de barras";             campos [3] = "quantidade";             campos [4] = "validade";             campos [5] = "data de entrada";                          do {                 System.out.println("\n\n### Sistema de estoque - simplificado ###");                 System.out.println("=========================================");                 System.out.println("      |     1 - Adcionar itens   |");                 System.out.println("      |     2 - Excluir itens    |");                 System.out.println("      |     3 - Mostrar itens    |");                 System.out.println("      |     0 - Sair             |");                 System.out.println("=========================================\n");                                  System.out.println("Escolha uma opcao: ");                 opcao = sc.nextInt();                 System.out.print("\n");                                  switch (opcao) {                 case 1:                     System.out.println("Cadastro de itens: ");                     //Adciona itens                      for (int i = 0; i <2; i++) {                         System.out.println("Adcionar item? ");                         System.out.println("1 para sim \n2 para nao: ");                         adcionar = sc.nextInt();                         if (adcionar == 1) {                             System.out.printf("%d. item \n", (i+1));                             verificar = verificar + 1;                             for (int j=0; j < 5; j++) {                                     System.out.printf("%s ", campos[j+1]);                                 System.out.printf("= ", i,(j+1));                                 itens[i][j] = sc.next();                                                              }                             System.out.printf("\n");                         }                         else {                             break;                         }                     }                                              break;                 case 2:                     //Remove itens                     System.out.println("Exclusao de itens: ");                     if(verificar > 0) {                         for (int i = 0; i <2; i++) {                                 System.out.printf("%d. item \n", (i+1));                             System.out.printf("ID do produto= 00%d \n", (i+1));                             System.out.printf("\n");                         }                     }                     else {                         System.out.println("Nenhum item listado!");                     }                     System.out.println("\nEscolha o numero do item a ser removido: \n");                     remover = sc.nextInt();                     for (int i = 0; i <2; i++) {                         if(remover == 2) {                         itens[i] = itens[i-1];                         }                     }                     break;                 case 3:                     //Mostra itens                     if(verificar > 0) {                                                      for (int i = 0; i <2; i++) {                                     if (verificar == 2) {                                 System.out.printf("%d. item \n", (i+1));                                 System.out.printf("ID do produto= 00%d \n", (i+1));                                 for (int j=0; j < 5; j++) {                                         System.out.printf("%s ", campos[j+1]);                                     System.out.printf("= %s \n", itens [i][j]);                                 }                                 System.out.printf("\n");                             }                             else {                                         itens = Arrays.copyOf(itens, tamanho - 1);                                         verificar = 0;                                         System.out.printf("%d. item \n", (i+1));                                         System.out.printf("ID do produto= 00%d \n", (i+1));                                         for (int j=0; j < 5; j++) {                                                 System.out.printf("%s ", campos[j+1]);                                             System.out.printf("= %s \n", itens [i][j]);                                         }                                         System.out.printf("\n");                                         break;                                 }                         }                     }                     else {                         System.out.println("Nenhum item listado!");                     }                                          break;                 default:                     System.out.println("Opção Inválida!");                     break;                 }             } while(opcao != 0);         }     }  
      Minha duvida é a seguinte, eu quero excluir uma posicao da matriz, exemplo: registrei dois itens, na coluna um e coluna dois da matriz e gostaria de remover a coluna um da lista, como realizo essa função, e outra coisa, eu gostaria de quando eu inserisse pela segunda vez algum item a matriz começasse na proxima possicao vazia, atualmente se eu pedir para inserir um novo item a matriz começa da primeira posicao e assim apaga os elementos ja inseridos.
       
    • By IgorExtreme
      Olá estou com problema nesta questão: "Escreva um programa que leia e armazene em um vetor os dados de 30 pessoas. Estes dados são o nome da pessoa, sua idade, e os nomes completos do pai e da mãe. A seguir, o programa deve identificar (e mostrar os índices) das pessoas que estão relacionadas por um parentesco avô-neto e irmão-irmão. No caso dos irmãos, deve ser informado ainda qual é o mais novo dos dois." O código é esse
      #include<stdio.h> #include<string.h> #define NUM 4 struct pessoa { char nome[20]; char mae[20]; char pai[20]; int idade; }; main() { struct pessoa vetorPessoas[NUM]; int i; printf("Digite os dados de %d pessoas:\n", NUM); for (i = 0; i < NUM; i++) { printf("Digite o nome da pessoa %d: ", i); fflush(stdin); gets(vetorPessoas[i].nome); printf("%s\n", vetorPessoas[i].nome); printf("Digite o nome da mae da pessoa %d: ", i); fflush(stdin); gets(vetorPessoas[i].mae); printf("%s\n", vetorPessoas[i].mae); printf("Digite o nome do pai da pessoa %d: ", i); fflush(stdin); gets(vetorPessoas[i].pai); printf("%s\n", vetorPessoas[i].pai); printf("Digite a idade da pessoa %d: ", i); fflush(stdin); scanf("%d", &vetorPessoas[i].idade); printf("%d\n", vetorPessoas[i].idade); if(!strcmp(vetorPessoas[0].pai, vetorPessoas[1].nome)){ printf("%s e avo de %s\n", vetorPessoas[1].pai, vetorPessoas[0].nome); } if(!strcmp(vetorPessoas[2].pai, vetorPessoas[3].nome)){ printf("%s e avo de %s\n", vetorPessoas[3].pai, vetorPessoas[2].nome); } } /*if(!strcmp(vetorPessoas[i].pai, vetorPessoas[i].nome)){ printf("%s e pai de %s\n", vetorPessoas[i].pai, vetorPessoas[i].pai); }*/ if(!strcmp(vetorPessoas[0].pai, vetorPessoas[1].pai)){ printf("Eles sao irmaos\n"); if(vetorPessoas[0].idade > vetorPessoas[1].idade){ printf("%s mais velho\n", vetorPessoas[0].idade); } else{ printf("%s e mais novo\n", vetorPessoas[1].idade); } } if(!strcmp(vetorPessoas[2].pai, vetorPessoas[3].pai)){ printf("Eles sao irmaos\n"); if(vetorPessoas[2].idade > vetorPessoas[3].idade){ printf("%s mais velho\n", vetorPessoas[2].idade); } else{ printf("%s e mais novo\n", vetorPessoas[3].idade); } } } O problema é que ele mostra quase tudo menos a parte se tal irmão é mais velho que o outro
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.