Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- //strutture
- typedef struct nodo *Lista;
- typedef struct nodo {
- char nome[26];
- Lista next;
- } nodo;
- char * acronimo(Lista list);
- Lista inserimento(void);
- void stampalista(Lista list);
- Lista invertilista(Lista list);
- void inserisci_in_file (char * list);
- int main ()
- {
- Lista listaccia, reverse;
- char *output;
- listaccia=inserimento();
- reverse=invertilista(listaccia);
- stampalista(reverse);
- output=acronimo(reverse);
- inserisci_in_file(output);
- printf("%s", output);
- return 0;
- }
- //inserimento di elementi in lista
- Lista inserimento(void)
- {
- Lista l=NULL;
- char nome[26];
- nodo *N;
- while(1)
- {
- printf("inserisci un valore ($ PER TERMINARE)\n");
- scanf("%s", nome);
- if(strcmp(nome, "$")==0) break;
- N=malloc(sizeof(nodo));
- if(!N) {
- printf("memoria esaurita\n");
- return l;}
- strcpy(N->nome, nome);
- N->next=l;
- l=N;
- }
- return l;
- }
- //stampa elementi in lista
- void stampalista(Lista list)
- {
- while(list!=NULL)
- {
- printf("%s\n",list->nome);
- list=list->next;
- }
- }
- Lista invertilista(Lista list)
- {
- Lista l=NULL;
- nodo *N;
- while(list)
- {
- N=malloc(sizeof(nodo));
- strcpy(N->nome,list->nome);
- N->next=l;
- l=N;
- list=list->next;
- }
- return l;
- }
- char* acronimo(Lista list)
- {
- char *output;
- int cont=0;
- Lista tmp=list;
- while(tmp)
- {
- cont++;
- tmp=tmp->next;
- }
- output=malloc(sizeof(char)*cont);
- cont=0;
- while(list)
- {
- output[cont]=list->nome[0];
- cont++;
- list=list->next;
- }
- output[cont]='\0';
- return output;
- }
- void inserisci_in_file (char *list)
- {
- FILE *lol;
- lol=fopen("vettore di iniziali.txt", "w");
- if (!lol)
- {
- printf("\nERRORE IN APERTURA FILE DI SALVATAGGIO, TERMINO\n\n");
- return;
- }
- fprintf(lol,"%s", list);
- fclose(lol);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement