1ª versão. #include <stdio.h> #include <string.h> #include <stdlib.h> #define maxdiscos 1000
|
|
|
- Iasmin Lobo Araújo
- 10 Há anos
- Visualizações:
Transcrição
1 #include <stdio.h> #include <string.h> #include <stdlib.h> #define maxdiscos 1000 typedef struct { char nomeautor[80]; char nomedisco[100]; int numdiscosvendidos; DISCO; 1ª versão int main() { DISCO listadiscos[maxdiscos]; int i, N = 0, K; char st[10]; FILE *f; // 1ª fase: copiar os dados do ficheiro para o vetor/lista de discos f = fopen("discos.txt", "r"); if (f == NULL) while (!feof(f)) { // while (fgets(listadiscos[n].nomeautor, 80, f)!= NULL) { fgets(listadiscos[n].nomeautor, 80, f); // fscanf apenas lê a 1ª palavra fgets(listadiscos[n].nomedisco, 100, f); // listadiscos[n].nomedisco é uma string com '\n' no fim fgets(st, 10, f); listadiscos[n].numdiscosvendidos = atoi(st); // fscan(f, %d\n, &listadiscos[n].numdiscosvendidos) N++; fclose(f);
2 // 2ª fase: determinar e mostrar os discos (nome de autor, nome do disco, nº de discos vendidos) printf("indique o valor a partir do qual quer verificar que discos tem vendas superiores: "); scanf("%d", &K); for (i = 0; i < N; i++) if (listadiscos[i].numdiscosvendidos >= K) { puts(listadiscos[i].nomeautor); // puts escreve a string, que já tem '\n', e ainda acrescenta um '\n' printf(" --> "); puts(listadiscos[i].nomedisco); printf(" --> "); // o printf permite anular o 2º '\n' printf("%d\n", listadiscos[i].numdiscosvendidos); return 1;
3 #include <stdio.h> #include <string.h> #include <stdlib.h> #define maxdiscos 1000 typedef struct { char nomeautor[80]; char nomedisco[100]; int numdiscosvendidos; DISCO; 2ª versão int main() { DISCO listadiscos[maxdiscos]; int i, N = 0, K; char st[10]; FILE *f; // 1ª fase: copiar os dados do ficheiro para o vetor/lista de discos f = fopen("discos.txt", "r"); if (f == NULL) while (fgets(listadiscos[n].nomeautor, 80, f)!= NULL) { fgets(listadiscos[n].nomedisco, 100, f); fgets(st, 10, f); listadiscos[n].numdiscosvendidos = atoi(st); // fscan(f, %d\n, &listadiscos[n].numdiscosvendidos) N++; fclose(f);
4 // 2ª fase: determinar e mostrar os discos com vendas superiores a um valor printf("indique um valor para determinar os discos com vendas superiores: "); scanf("%d", &K); for (i = 0; i < N; i++) if (listadiscos[i].numdiscosvendidos >= K) { printf("%s", listadiscos[i].nomeautor); printf(" --> %s", listadiscos[i].nomedisco); printf(" --> %d\n", listadiscos[i].numdiscosvendidos); return 1;
5 #include <stdio.h> #include <string.h> #include <stdlib.h> #define maxdiscos 1000 typedef struct { char nomeautor[80]; char nomedisco[100]; int numdiscosvendidos; DISCO; 3ª versão int main() { DISCO listadiscos[maxdiscos]; int i, N = 0, K; char st[10]; FILE *f, *g; // 1ª fase: copiar os dados do ficheiro para o vetor/lista de discos f = fopen("discos.txt", "r"); if (f == NULL) while (!feof(f)) { // while (fgets(listadiscos[n].nomeautor, 80, f)!= NULL) { fgets(listadiscos[n].nomeautor, 80, f); // fscanf apenas lê a 1ª palavra fgets(listadiscos[n].nomedisco, 100, f); // listadiscos[n].nomedisco é uma string com '\n' no fim fgets(st, 10, f); listadiscos[n].numdiscosvendidos = atoi(st); // fscan(f, %d\n, &listadiscos[n].numdiscosvendidos) N++; fclose(f);
6 // 2ª fase: determinar e mostrar os discos (nome de autor, nome do disco, nº de discos vendidos) printf("indique o valor a partir do qual quer verificar que discos tem vendas superiores: "); scanf("%d", &K); g = fopen("maisvendidos.txt", "w"); if (g == NULL) for (i = 0; i < N; i++) if (listadiscos[i].numdiscosvendidos >= K) { fputs(listadiscos[i].nomeautor, g); // puts escreve a string, que já tem '\n', e ainda acrescenta um '\n' fprintf(g, " --> "); fputs(listadiscos[i].nomedisco, g); fprintf(g, " --> "); // o printf permite anular o 2º '\n' fprintf(g, "%d\n", listadiscos[i].numdiscosvendidos); fclose(g); return 1;
7 #include <stdio.h> #include <string.h> #include <stdlib.h> #define maxdiscos 1000 typedef struct { char nomeautor[80]; char nomedisco[100]; int numdiscosvendidos; DISCO; 4ª versão int main() { DISCO listadiscos[maxdiscos]; int i, N = 0, K; char st[10]; FILE *f, *g; // 1ª fase: copiar os dados do ficheiro para o vetor/lista de discos f = fopen("discos.txt", "r"); if (f == NULL) while (fgets(listadiscos[n].nomeautor, 80, f)!= NULL) { fgets(listadiscos[n].nomedisco, 100, f); fgets(st, 10, f); listadiscos[n].numdiscosvendidos = atoi(st); // fscan(f, %d\n, &listadiscos[n].numdiscosvendidos) N++; fclose(f);
8 // 2ª fase: determinar e mostrar os discos com vendas superiores a um valor e guardar num ficheiro printf("indique um valor para determinar os discos com vendas superiores: "); scanf("%d", &K); g = fopen("maisvendidos2.txt", "w"); if (g == NULL) for (i = 0; i < N; i++) if (listadiscos[i].numdiscosvendidos >= K) { fprintf(g, "%s", listadiscos[i].nomeautor); fprintf(g, " --> %s", listadiscos[i].nomedisco); fprintf(g, " --> %d\n", listadiscos[i].numdiscosvendidos); fclose(g); return 1;
9 #include <stdio.h> #include <string.h> #include <stdlib.h> #define maxdiscos 1000 typedef struct { char nomeautor[80]; char nomedisco[100]; int numdiscosvendidos; DISCO; 5ª versão int main() { DISCO listadiscos[maxdiscos]; int i, N = 0, K; char st[10]; FILE *f; // 1ª fase: copiar os dados do ficheiro para o vetor/lista de discos f = fopen("discos.txt", "r"); if (f == NULL) while (!feof(f)) { // while (fgets(listadiscos[n].nomeautor, 80, f)!= NULL) { fgets(listadiscos[n].nomeautor, 80, f); // fscanf apenas lê a 1ª palavra fgets(listadiscos[n].nomedisco, 100, f); // listadiscos[n].nomedisco é uma string com '\n' no fim fgets(st, 10, f); listadiscos[n].numdiscosvendidos = atoi(st); // fscan(f, %d\n, &listadiscos[n].numdiscosvendidos) N++; fclose(f);
10 // 2ª fase: determinar e mostrar os discos (nome de autor, nome do disco, nº de discos vendidos) printf("indique o valor a partir do qual quer verificar que discos tem vendas superiores: "); scanf("%d", &K); for (i = 0; i < N; i++) if (listadiscos[i].numdiscosvendidos >= K) { fputs(listadiscos[i].nomeautor, stdout); fprintf(stdout, " --> "); fputs(listadiscos[i].nomedisco, stdout); fprintf(stdout, " --> "); fprintf(stdout, "%d\n", listadiscos[i].numdiscosvendidos); return 1;
Linguagem C Ficheiros Compilação Separada
Linguagem C Ficheiros Compilação Separada typedef definição de tipos Apontadores para estruturas Ficheiros na bibiloteca standard do C Compilação Separada Definição de novos tipos em C É possível definir
PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C
PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C 1 2 Repetição 1 Enquanto 'C' é verdadeira Fazer? 3 Repetição 1 Enquanto 'C' é verdadeira Fazer? while (C)?; 4 Enunciado: Construa um algoritmo para mostrar os 100
Fundamentos de Arquivos. SCC203 Algoritmos e Estruturas de Dados II
Fundamentos de Arquivos SCC203 Algoritmos e Estruturas de Dados II Arquivos Informação mantida em memória secundária HD Disquetes Fitas magnéticas CD DVD 2 Discos X Memória Principal Tempo de acesso HD:
Manipulação de Arquivos
Manipulação de Arquivos Estrutura de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Tipo
struct Nodo { int struct Nodo struct Nodo typedef struct Nodo *PNodo; int ConstruirLista (PNodo *H, PNodo *T) { int Criar
struct Nodo { int Elemento; struct Nodo *Prox; struct Nodo *Ant; ; typedef struct Nodo *PNodo; Copiar para o ficheiro ListasLigadasDuplas.h e adaptar as funções associadas às seguintes operações: Criar;
Exercício 1. Tabela 1: Cadastro de usuários, senhas e privilégios (exemplo). Login Senha Privilégio Armamento
1/5 Exercício 1 Um sistema de segurança militar, usado num submarino nuclear, controla o acesso de usuários a três subsistemas (armamento, navegação e comunicações) através da digitação do login do usuário
PIP/CA - Programa Interdisciplinar de Pós-Graduação em Computação Aplicada da UNISINOS ALGORITMOS & ESTRUTURAS DE DADOS
PIP/CA - Programa Interdisciplinar de Pós-Graduação em Computação Aplicada da UNISINOS Disciplina de Nivelamento - 2000/1: ALGORITMOS & ESTRUTURAS DE DADOS Professor Responsável: Prof. Fernando Santos
Sumário. Ficheiros. Ficheiros
Sumário Ficheiros Motivação Operações Ficheiros de texto e binários Manipulação de ficheiros de texto Abertura Encerramento Descritores de ficheiros: stdin, stdout, stderr Escrita Leitura Outras funções
Linguagem C: agregados heterogêneos, arquivos binários, recursividade. Prof. Críston Algoritmos e Programação
Linguagem C: agregados heterogêneos, arquivos binários, recursividade Prof. Críston Algoritmos e Programação Agregados heterogêneos Permitem agrupar variáveis de diferentes tipos em um único registro struct
Computação 2. Aula 8. Profª. Fabiany Arquivos
Computação 2 Aula 8 Arquivos Profª. Fabiany [email protected] E/S com Arquivos A linguagem C não possui nenhum comando de E/S. Todas as operações de E/S ocorrem mediante chamadas a funções de biblioteca
MC-102 Aula 19 Registros
MC-102 Aula 19 Registros Instituto de Computação Unicamp 4 de Maio de 2015 Roteiro 1 Registros 2 Redefinição de tipos (Instituto de Computação Unicamp) MC-102 Aula 19 4 de Maio de 2015 2 / 17 Registros
Computação 2. Aula Profª. Fabiany Listas Duplamente Encadeadas
Computação 2 Aula 10.1 Listas Duplamente Encadeadas Profª. Fabiany [email protected] ListaEncadeada.h #ifndef _LISTAENCADEADA_H_ #define _LISTAENCADEADA_H_ #include #include #include
Introdução. Manipulação de arquivos em C. Estrutura de Dados II Prof Jairo Francisco de Souza
Introdução Manipulação de arquivos em C Estrutura de Dados II Prof Jairo Francisco de Souza Manipulação de Arquivo em C Existem dois tipos possíveis de acesso a arquivos na linguagem C : sequencial (lendo
Estruturas (Registros)
Estruturas (Registros) Agrupa conjunto de tipos de dados distintos sob um único nome string string inteiro inteiro inteiro float float Cadastro Pessoal Nome Endereço Telefone Idade Data de Nascimento Peso
Programação. MEAer e LEE. Manipulação de ficheiros de texto. Bertinho Andrade da Costa. Instituto Superior Técnico. 2010/2011 1º Semestre
Programação MEAer e LEE Bertinho Andrade da Costa 2010/2011 1º Semestre Instituto Superior Técnico Manipulação de ficheiros de texto Programação 2010/2011 IST-DEEC Manipulação de Ficheiros 1 Sumário Ficheiros
imprimir seus quadrados.
1) Dada uma seqüência de números inteiros não-nulos, seguida por 0, imprimir seus quadrados. int numero, /* usada para leitura da sequencia */ quadrado; /* guarda o quadrado do numero lido */ printf("\n\tcalculo
Operaçõe õ s c om o Strings Intr oduç ão a o Ponte iros o e Funçõe õ s
Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Operações com Strings Introdução a Ponteiros e Funções Profa Rosana Braga 1 Strings Strings são seqüências de caracteres
Aula 03 -Introdução àlinguagc Programação: Estrutura-Repetição. OPL e IC1 Prof: Anilton Joaquim da Silva
Aula 03 -Introdução àlinguagc Programação: Estrutura-Repetição OPL e IC1 Prof: Anilton Joaquim da Silva [email protected] 1 Estrutura de Repetição Em certas situações é necessária a repetição de
CAP. IX - MANIPULAÇÃO DE ARQUIVOS Generalidades sobre Arquivos. 9.2 Abertura e Fechamento de Arquivos. Operações com arquivos:
CAP. IX - MANIPULAÇÃO DE ARQUIVOS 9.1 Generalidades sobre arquivos 9.2 Abertura e fechamento de arquivos 9.3 Arquivos textos e arquivos binários 9.4 Leitura e escrita em arquivos binários 9.5 Procura direta
Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria
USP - ICMC - SSC SSC 0501-1o. Semestre 2015 Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria Prof. Fernando Santos Osório Email: fosorio [at] icmc. usp. br, gmail. com Página Pessoal: http://www.icmc.usp.br/~fosorio/
Linguagem C: Arquivo-Texto
Prof. Paulo R. S. L. Coelho [email protected] Faculdade de Computação Universidade Federal de Uberlândia GEQ007 Organização 1 Introdução em C 2 3 Organização Introdução em C 1 Introdução em C 2 3 Introdução
Rotinas, Modos e Tipos de Passagem de Parâmetros
Linguagens de Programação Rotinas, Modos e Tipos de Passagem de Parâmetros Carlos Bazilio [email protected] http://www.ic.uff.br/~bazilio/cursos/lp Chamada de Rotinas Rotina f Rotina g(w) g (k) Passagem
UFSM Introdução ao Dev-C++ Profa. Patrícia Pitthan. Introdução ao Dev-C++
Introdução ao Dev-C++ O Dev-C++ oferece um ambiente que integra um editor de textos a um compilador para linguagem C. O compilador usado pelo Dev-C++ é o gcc (Gnu C Compiler). 1) Primeiro programa Para
Estrutura da linguagem de programação C Prof. Tiago Eugenio de Melo [email protected]
Estrutura da linguagem de programação C Prof. Tiago Eugenio de Melo [email protected] Breve Histórico A linguagem de programação C foi criada na década de 70, por Dennis Ritchie, que a implementou,
Fundamentos de Programação
TeSP Redes e Sistemas Informáticos Luís Correia Até agora aprendemos que podemos armazenar vários elementos, mas esses elementos têm que ser todos do mesmo tipo Exemplos: int v[20]; float matriz[5][10];
Listas ligadas/listas encadeadas
1 Listas ligadas/listas encadeadas Leitura recomendada: http://www.ime.usp.br/~pf/algoritmos/aulas/lista.html 2 Processamento elementar de listas Definição mais restritiva (tipo de lista possivelmente
Introdução à Computação II AULA 08 BCC Noturno - EMA896115B
Introdução à Computação II AULA 08 BCC Noturno - EMA896115B Prof. Rafael Oliveira [email protected] Universidade Estadual Paulista Júlio de Mesquita Filho UNESP Rio Claro 2014 (Sem 2) O ambiente de execução
Métodos Computacionais. Arquivos
Métodos Computacionais Arquivos Arquivos Um arquivo representa um elemento de informação armazenado em memória secundária (disco) Características: Informações são persistidas Atribui-se nomes aos elementos
Algoritmos e Estruturas de dados
Algoritmos e Estruturas de dados Listas Encadeadas Prof. Dr. Fábio Rodrigues de la Rocha (Listas Encadeadas) 1 / 21 Definição: Anteriormente estudamos listas encadeadas que foram implementadas como vetores
Sumário. Introdução à Ciência da Computação. Ponteiros em C. Introdução. Definição. Por quê ponteiros são importantes?
Introdução à Ciência da Computação Ponteiros em C Prof. Ricardo J. G. B. Campello Sumário Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C Operações Ponteiros
Listas Encadeadas. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR
Listas Encadeadas David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Listas Encadeadas Características: Tamanho da lista não é pré-definido Cada elemento guarda quem é o próximo Elementos não
INF 1620 P1-11/04/08 Questão 1 Nome:
INF 1620 P1-11/04/08 Questão 1 Nas Olimpíadas, em uma determinada modalidade esportiva, os competidores recebem a nota de quatro jurados e a nota final é o resultado da média das quatro notas menos um
OProtocolo RPC é um dos protocolos de aplicação mais utilizados, pois permite
Laboratório de Redes. Remote Procedure Call - RPC Pedroso 9 de março de 2006 1 Introdução 2 Conceitos básicos OProtocolo RPC é um dos protocolos de aplicação mais utilizados, pois permite que sejam criadas
14. Arquivos. W. Celes e J. L. Rangel. Estruturas de Dados PUC-Rio 13-1
14. Arquivos W. Celes e J. L. Rangel Neste capítulo, apresentaremos alguns conceitos básicos sobre arquivos, e alguns detalhes da forma de tratamento de arquivos em disco na linguagem C. A finalidade desta
Ponteiros e Tabelas. K&R: Capítulo 5
Ponteiros e Tabelas K&R: Capítulo 5 Ponteiros e Tabelas Ponteiros e endereços Ponteiros e argumentos de funções Ponteiros e tabelas Alocação dinâmica de memória Aritmética de ponteiros Tabelas de ponteiros
Computação I - C Prova /10/ Profs. Adriano Cruz e Valeria Bastos
Computação I - C Prova 2 2016-2 14/10/2016 - Profs. Adriano Cruz e Valeria Bastos Nome: DRE: Observação: Justifique todas as respostas dadas. Some nte serão aceitas respostas com justificativas. Questão
Lista de Exercícios para P1 INF1007 (Prog2) 15/04/2013. ATENÇÃO: O material a seguir não sofreu revisão e pode conter erros.
EXERCÍCIO 1: Lista de Exercícios para P1 INF1007 (Prog2) 15/04/2013 ATENÇÃO: O material a seguir não sofreu revisão e pode conter erros. Considere as informações dos candidatos inscritos em um concurso.
Analise o código abaixo:
Recursão - introdução Analise o código abaixo: 1 # include 2 # include 3 int Fatorial ( int x) 4 int k, s =1; for (k =0;k
Árvores Binárias - continuação
Tópicos Avançados em Estrutura de Dados 6º Período Ciência da Computação Uma Aplicação de Árvores Binárias Árvores Binárias - continuação As árvore binárias são estruturas importantes toda vez que uma
Introdução à Programação em C Input / Output
Introdução à Programação em C Input / Output Resumo Aula Anterior Programa começa com função main() Sintaxe para definição de funções Definição de variáveis e atribuições Estruturas de controlo if-then
struct LISTA item quant
UNIVERSIDADE SÃO JUDAS TADEU ESTRUTURA DE DADOS - PROF. H. Senger IMPLEMENTAÇÃO DE LISTAS COM VETORES A implementação de listas utilizando vetores é simples. Existe apenas uma pequena questão, com relação
Atividade de laboratório listas encadeadas simples
Atividade de laboratório listas encadeadas simples 1. Estrutura básica Uma lista encadeada simples é uma estrutura de dados composta de uma seqüência de estruturas elementares chamadas nós. Cada nó contém
Estruturas de Dados. Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C
Estruturas de Dados Revisão de Ponteiros Prof. Ricardo J. G. B. Campello Sumário Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C Operações Ponteiros e Arranjos
PROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008
Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008 Mestrado Integrado em Engenharia Electrotécnica e Computadores 1º ano 1º semestre Ficheiros e estruturas http://tele1.dee.fct.unl.pt
Estruturas de Dados. Módulo 15 - Arquivos. 2/6/2005 (c) Dept. Informática - PUC-Rio 1
Estruturas de Dados Módulo 15 - Arquivos 2/6/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004)
Instituto Superior Técnico Introdução aos Algoritmos e Estruturas de Dados
Instituto Superior Técnico Introdução aos Algoritmos e Estruturas de Dados Ano Lectivo de 2004/2005 2 o Semestre 1 o Teste A - 30 de Abril de 2005 Duração: 2h - O teste é sem consulta. - Para cada questão
Registros. Técnicas de Programação. Rafael Silva Guimarães :p://:p.ci.ifes.edu.br/informa@ca/rafael_guimaraes
Rafael Silva Guimarães :p://:p.ci.ifes.edu.br/informa@ca/rafael_guimaraes Registros Técnicas de Programação Baseado no material do Prof. Rafael Vargas Mesquita Conceito de Registro (Struct) Vetores e Matrizes
Introdução a Computação
Introdução a Computação Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Programação Programa é um algoritmo escrito em uma linguagem de programação. Existem diversas linguagens
Comunicação entre pai e filho
Comunicação entre pai e filho Ao chamar um fork(), processos pai e filho deixam de compartilhar memória Como fazer então para que o resultado de um processo possa ser recebido pelo outro? Exemplos: Processo
INF 1620 P3-21/06/08 Questão 1 Nome:
INF 1620 P3-21/06/08 Questão 1 Dada uma lista encadeada de números inteiros cujo tipo que representa um nó da lista é dado por: struct lista { int info; struct lista *prox; typedef struct lista Lista;
Linguagem C: Ponteiros - Alocação Dinâmica
Prof. Paulo R. S. L. Coelho [email protected] Faculdade de Computação Universidade Federal de Uberlândia GEQ007 Organização 1 Ponteiros Alocação Dinâmica de Memória 2 3 4 Organização Ponteiros Alocação
Estruturas de Dados Aula 10: Listas (parte 2) 19/04/2011
Estruturas de Dados Aula 10: Listas (parte 2) 19/04/2011 Fontes Bibliográficas Livros: Projeto de Algoritmos (Nivio Ziviani): Capítulo 3; Introdução a Estruturas de Dados (Celes, Cerqueira e Rangel): Capítulo
