Sponsored Content
Full Discussion: Bus Error: 10...Help please!
Top Forums Programming Bus Error: 10...Help please! Post 302772011 by kdejan on Friday 22nd of February 2013 11:57:02 AM
Old 02-22-2013
Sorry, this is the rest of the program I have so far, had and tail are global variables declared as NULL.

Code:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define NODE struct node

void insert(void);
/*
int delete(void);
int list(void);
*/

NODE *head = NULL;
NODE *tail = NULL;

struct node{
	char name[51];
	char number[11];
	char *next;
	char *prev;
	
};


int main(void){
	//variables
	int menu=0, flag=0;


		//INSTRUCTIONS for user in main program
	printf("Welcome to our phone book.\n\n");

	while(flag==0){
		printf("Press (1) to add a new name and number.\n");
		printf("Press (2) to delete an entry.\n");
		printf("Press (3) to list all entries.\n");
		printf("Press (4) to quit.\n");
		scanf("%d", &menu);	
	

	//switch statement for menu selection -- calls functions to main that perform the functions described in INSTRUCTIONS above
		switch(menu){
	
			case 1:
				insert();
				break;
			
			case 2:
				counter = delete();
				break;
	
			case 3:
				list();
				break;
			
			case 4:
				flag=1;
				break;
			
			default:
				break;
		}
	
	}	
	return 0;
}


Last edited by Corona688; 02-22-2013 at 01:05 PM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Bus Error

This may belong in the C Programming forum, but here goes anyway... What would cause a bus error? I searched google for a cause, but came up with some conflicting reports... Could it be caused by disk space? A lot of the pages I found mentioned linking with the incorrect versions of the... (4 Replies)
Discussion started by: LivinFree
4 Replies

2. UNIX for Dummies Questions & Answers

bus error on solaris

Hi there I am running soalris 9 on a sun fire 480r and all of a sudden (today) whenever the users run the command `top` we get the following message `bus error` does anybody have any information on what this is all about and whether there is a routine i can perform to gather more... (3 Replies)
Discussion started by: hcclnoodles
3 Replies

3. UNIX for Dummies Questions & Answers

Bus error(coredump

aix 5.3 ML1 system was functioing well, when suddenly telnet session hung and then I got the following message "Bus error(coredump)" would appreciate if anyone would assist as to what to do next. (3 Replies)
Discussion started by: Student37
3 Replies

4. UNIX for Advanced & Expert Users

Bus Error(coredump)

Hi, I am using HP-UX. While i try to run the Sqlplus command using the shel script in encounter the following error: <shell script name>: some number Bus Error(coredump) What may be the reason behind this. I read few previous threads in this forum where i found some similar case. There it was... (2 Replies)
Discussion started by: Jayesh
2 Replies

5. Programming

BUS error

Hi! I've got a program which runs fine under Linux, but I have compiled it to run under SunOS 5.8 in a Sparc computer, and now it sometimes fails with "bus error". Ussing gdb I surfed to the error line, which is *pointer = some_vector; where some_vector is a 16 byte struct (4 integers)... (1 Reply)
Discussion started by: shesatmine
1 Replies

6. UNIX for Dummies Questions & Answers

bus error (coredump)

Hi all, I am getting bus error problem in SunOS. Can you please help me out in this regard. Actually, my entire code till the last line has been executed. But after tht i am getting a bus error. Please help me. Thanks in advance. Charu. (4 Replies)
Discussion started by: charu
4 Replies

7. HP-UX

Need help on Bus error(coredump)

Hi all, I am quite weak in C but I need to get some work done. Hope someone can help me out. I keep getting this error when i try to run my C application in my HP-UX 10.20 machine. Some code snippet: Month(DBTime) =====This is a function which will return variable "CutOffTime" to be use... (5 Replies)
Discussion started by: Vision©
5 Replies

8. HP-UX

Bus Error

I am getting bus error when i include "#!/bin/ksh". If i remove interpreter then script is working. Can anyone explain this and how can i avoid this error? Operating System is HP-UX B.11.23 U 9000/800 1091834454 (2 Replies)
Discussion started by: anbu23
2 Replies

9. Programming

Bus error

Hi everyone, I have a GUI project and when I run it and left in idle state for a long time(there is nothing done, just opened GUI, no more actions),I get bus error after trying to do anything with it. I've tried to build it in debug mode and use gdb, but I don't get any error in debug mode.It... (3 Replies)
Discussion started by: sisi
3 Replies

10. Programming

Bus error in tree insertion

Hi, I am new to C++ and unix. I am trying to write a programm for inserting elements into a binary tree. To get the code flow I used few Couts and m facing buss error while insertion. Below is the code snippet. explainations needed. thanks :) #include <iostream.h> struct mytree { int... (1 Reply)
Discussion started by: vineetjoshi
1 Replies
INSQUE(3)						     Linux Programmer's Manual							 INSQUE(3)

NAME
insque, remque - insert/remove an item from a queue SYNOPSIS
#include <search.h> void insque(void *elem, void *prev); void remque(void *elem); Feature Test Macro Requirements for glibc (see feature_test_macros(7)): insque(), remque(): _SVID_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED DESCRIPTION
The insque() and remque() functions manipulate doubly-linked lists. Each element in the list is a structure of which the first two ele- ments are a forward and a backward pointer. The linked list may be linear (i.e., NULL forward pointer at the end of the list and NULL backward pointer at the start of the list) or circular. The insque() function inserts the element pointed to by elem immediately after the element pointed to by prev. If the list is linear, then the call insque(elem, NULL) can be used to insert the initial list element, and the call sets the forward and backward pointers of elem to NULL. If the list is circular, the caller should ensure that the forward and backward pointers of the first element are initialized to point to that element, and the prev argument of the insque() call should also point to the element. The remque() function removes the element pointed to by elem from the doubly-linked list. CONFORMING TO
POSIX.1-2001. NOTES
Traditionally (e.g., SunOS, Linux libc 4 and libc 5), the arguments of these functions were of type struct qelem *, defined as: struct qelem { struct qelem *q_forw; struct qelem *q_back; char q_data[1]; }; This is still what you will get if _GNU_SOURCE is defined before including <search.h>. The location of the prototypes for these functions differs among several versions of UNIX. The above is the POSIX version. Some systems place them in <string.h>. Linux libc4 and libc 5 placed them in <stdlib.h>. BUGS
In glibc 2.4 and earlier, it was not possible to specify prev as NULL. Consequently, to build a linear list, the caller had to build a list using an initial call that contained the first two elements of the list, with the forward and backward pointers in each element suit- ably initialized. EXAMPLE
The program below demonstrates the use of insque(). Here is an example run of the program: $ ./a.out -c a b c Traversing completed list: a b c That was a circular list Program source #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <search.h> struct element { struct element *forward; struct element *backward; char *name; }; static struct element * new_element(void) { struct element *e; e = malloc(sizeof(struct element)); if (e == NULL) { fprintf(stderr, "malloc() failed "); exit(EXIT_FAILURE); } return e; } int main(int argc, char *argv[]) { struct element *first, *elem, *prev; int circular, opt, errfnd; /* The "-c" command-line option can be used to specify that the list is circular */ errfnd = 0; circular = 0; while ((opt = getopt(argc, argv, "c")) != -1) { switch (opt) { case 'c': circular = 1; break; default: errfnd = 1; break; } } if (errfnd || optind >= argc) { fprintf(stderr, "Usage: %s [-c] string... ", argv[0]); exit(EXIT_FAILURE); } /* Create first element and place it in the linked list */ elem = new_element(); first = elem; elem->name = argv[optind]; if (circular) { elem->forward = elem; elem->backward = elem; insque(elem, elem); } else { insque(elem, NULL); } /* Add remaining command-line arguments as list elements */ while (++optind < argc) { prev = elem; elem = new_element(); elem->name = argv[optind]; insque(elem, prev); } /* Traverse the list from the start, printing element names */ printf("Traversing completed list: "); elem = first; do { printf(" %s ", elem->name); elem = elem->forward; } while (elem != NULL && elem != first); if (elem == first) printf("That was a circular list "); exit(EXIT_SUCCESS); } COLOPHON
This page is part of release 3.53 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/. 2010-09-09 INSQUE(3)
All times are GMT -4. The time now is 06:32 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy