Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include<errno.h> //
- #include <stdlib.h>
- #include <string.h>
- #define BUFFER_SIZE
- constexpr auto max = 5;
- #define _CRT_SECURE_NO_WARNINGS 1
- #define _WINSOCK_DEPRECATED_NO_WARNINGS 1
- #pragma warning(disable:4996)
- struct vending_machine
- {
- char MN[20]; //alloc mem size of char
- char ML[20];
- int stat, pin, index; //ints for program
- };
- struct vending_machine Machine;
- int array_search = 0;
- struct vending_machine Add_New_Machine; //struct to add new vending machine
- struct vending_machine Max_machine[max];
- int menu() {
- int option;
- printf("***************************************************************\n");
- printf("* Please select a option *\n");
- printf("* 1. Add Machine *\n");
- printf("* 2. Show All Machines *\n");
- printf("* 3. Search Machine By Index *\n");
- printf("* 4. Delete Machine *\n");
- printf("* 5. Update Machine Status *\n");
- printf("* 6. Exit *\n");
- printf("***************************************************************\n");
- scanf_s("%d", &option);
- return option;
- }
- void Add_machine()
- {
- FILE * file_pointer;
- char mn[20], location[20];
- int Machine_pin, Machine_status;
- file_pointer = fopen("machine.txt", "w+");
- printf("Machine Name::\n");
- scanf_s("%s", mn, sizeof(mn)); //gets size of machine name stops bs when writing to a file
- fputs(mn, file_pointer);
- strcpy_s(Add_New_Machine.MN, 20, mn); //pushes name to assigned value
- printf("Location::\n");
- scanf_s("%s", location, sizeof(location));
- strcpy_s(Add_New_Machine.ML, 20, location);
- fputs(location, file_pointer);
- printf("Pin Number\n");
- scanf_s("%i", &Machine_pin);
- Add_New_Machine.pin = Machine_pin;
- printf("Status::\n");
- scanf_s("%i", &Machine_status);
- Add_New_Machine.index = array_search;
- Max_machine[array_search] = Add_New_Machine; //adds value to max assignmed machines
- fclose(file_pointer);
- }
- void List_machines()
- {
- for (int i = 0; i < array_search; i++) //FOR LOOP EVERYTHING NO NEED FOR A WHILE
- {
- printf("Name: %s Room: %s Machine Pin: %i Machine Status: %i Machine Index: %i\n",
- Max_machine[i].MN,Max_machine[i].ML,Max_machine[i].pin,Max_machine[i].stat,Max_machine[i].index);
- }
- }
- void search()
- {
- int i;
- scanf_s("%i", &i);
- printf("search the index *the number no chars *\n");
- printf("%s %s %i %i %i\n",
- Max_machine[i].MN,
- Max_machine[i].ML,
- Max_machine[i].pin,
- Max_machine[i].stat,
- Max_machine[i].index);
- }
- void update()
- {
- int i = 0;
- printf("Enter index");
- scanf_s("%i", &i);
- //pinMode(machines[i].pin, OUTPUT);
- if (Max_machine[i].stat == 0)
- {
- Max_machine[i].stat = 1;
- //This turns pin on
- int pin = Max_machine[i].pin;
- //digitalWrite(pin,HIGH);
- printf("%s on \n", Max_machine[i].MN);
- }
- else
- {
- Max_machine[i].stat = 0;
- //Turning pin off
- int pin = Max_machine[i].pin;
- printf("%s off \n", Max_machine[i].MN);
- }
- }
- void kill() {
- int i, index;
- printf("Enter index to remove\n");
- scanf_s("%i", &index);
- for (i = index; i < array_search - 1; i++)
- {
- Max_machine[i] = Max_machine[i + 1];
- }
- printf(" Removed \n");
- array_search -= 1;
- }
- int machine_count()
- {
- FILE *fptr;
- errno_t err;
- int count = 0;
- char c;
- if ((err = fopen_s(&fptr, "machine.txt", "r")) != NULL)
- {
- printf("Error! opening file\n");
- return -1;
- }
- while (!feof(fptr))
- {
- c = fgetc(fptr);
- if (c == '\n')
- {
- count++;
- }
- }
- fclose(fptr);
- return count;
- }
- int main()
- {
- //Init Setup
- printf("Allocated Mem: %i\n", array_search);
- int option = 1;
- while (option != 0)
- {
- option = menu();
- switch (option)
- {
- case 1:
- Add_machine();
- break;
- case 2:
- List_machines();
- break;
- case 3:
- search();
- break;
- case 4:
- kill();
- break;
- case 5:
- update();
- break;
- case 6:
- default:
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement