Advertisement
_andrea_

Untitled

Jun 25th, 2022
880
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.62 KB | None
  1. #include <stdio.h>
  2.  
  3. #include <stdlib.h>
  4.  
  5. #define MAX 100
  6. //STRUCT
  7.  
  8. struct listanod {
  9.   char car;
  10.   struct listanod * link;
  11. };
  12. typedef struct listanod nodo_lista;
  13. typedef nodo_lista * nodo_listaptr;
  14.  
  15. //prototipi
  16. nodo_listaptr inizializza_lista();
  17. nodo_lista aggiungi_nodo(nodo_listaptr, char);
  18. void stampa_lista(nodo_listaptr);
  19. nodo_lista cancella_dup(nodo_listaptr car_nodo);
  20.  
  21. void flush() {
  22.   int c;
  23.   while ((c = getchar()) != '\n' && c != EOF);
  24. }
  25.  
  26. int main() {
  27.   nodo_lista * car_nodo;
  28.   int num;
  29.   char key;
  30.   int counter;
  31.   printf("quanti caratteri vuoi inserire?\n");
  32.   scanf("%d", & num);
  33.   flush();
  34.  
  35.   for (int i = 0; i < num; i++) {
  36.     printf("Inserisci carattere\n");
  37.     scanf("%c", & key);
  38.     flush();
  39.     aggiungi_nodo(car_nodo, key);
  40.   }
  41.   printf("premi [1] per stampare la lista: ");
  42.   scanf("%d", & counter);
  43.   if (counter == 1) {
  44.     stampa_lista(car_nodo);
  45.   } else {
  46.     printf("errore");
  47.   }
  48. }
  49.  
  50. nodo_lista aggiungi_nodo(nodo_listaptr car_nodo, char key) {
  51.   if (car_nodo == NULL) {
  52.     car_nodo = (nodo_listaptr) malloc(sizeof(nodo_lista));
  53.     if (car_nodo == NULL) {
  54.       printf("bro there is a problem");
  55.     } else {
  56.       car_nodo -> car = key;
  57.       car_nodo -> link = NULL;
  58.     }
  59.   } else {
  60.     car_nodo -> car = key;
  61.     car_nodo = car_nodo -> link;
  62.     car_nodo -> link = NULL;
  63.   }
  64. }
  65.  
  66. nodo_listaptr inizializza_lista() {
  67.   return NULL;
  68. }
  69.  
  70. void stampa_lista(nodo_listaptr car_nodo) {
  71.   while (car_nodo -> link != NULL) {
  72.     printf("%c", car_nodo -> car);
  73.     car_nodo = car_nodo -> link;
  74.   }
  75. }
  76.  
  77. nodo_lista cancella_dup(nodo_listaptr car_nodo) {
  78.  
  79. }
Advertisement
RAW Paste Data Copied
Advertisement